Java 9 中 Optional.or() 方法的重要性?


在 Java 9 中, 添加了几个静态方法:stream()or()ifPresentOrElse(),用于 Optional<T> 类。Optional 类旨在解决空指针异常

Optional.or() 方法返回一个 Optional ,描述了值(如果存在值),否则返回通过提供函数产生的 Optional。 

语法

public Optional<T> or(Supplier<? extends Optional<? extends T>> supplier)

示例

import java.util.Optional;
import java.util.function.Supplier;

public class OptionalOrTest {
   public static void main(String args[]) {
      Optional<String> optional = Optional.of("TutorialsPoint");
      Supplier<Optional<String>> supplierString = () -> Optional.of("Not Present");
      optional = optional.or(supplierString);
      optional.ifPresent(x -> System.out.println("Value: " + x));
      optional = Optional.empty();
      optional = optional.or(supplierString);
      optional.ifPresent(x -> System.out.println("Value: " + x));
   }
}

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

输出

Value: TutorialsPoint
Value: Not Present

更新日期: 2020 年 4 月 17 日

674 次浏览

开启你的 职业

完成课程后获得认证

开始
广告