Java的Optional.or()是指

Java中的Optional类的.or()方法是一个方法,在Optional没有值(即Optional.empty())时返回另一个Optional。

这个方法需要将Supplier作为参数传递。

Supplier是Java8引入的函数式接口,它拥有一个不接受参数但返回某个值的get()方法。

样品↓

Optional<String> optional = Optional.empty();

optional = optional.or(() -> Optional.of("サンプル"));

在第一行中,optional没有任何值(Optional.empty())。
因此,当调用or()方法时,传递的Supplier(在这种情况下是 () -> Optional.of(“alternative”))会被调用,并且它的结果将成为新的optional值。
因此,此代码之后,optional将具有值”样本”。

然而,如果原本的optional包含一个值(例如”original”),那么or()方法将不会改变该值,而是直接返回原始的optional。也就是说,不会调用Supplier。

广告
将在 10 秒后关闭
bannerAds