Optional类是jdk1.8的一个新特性
一般用于解决空指针异常,常用方法有:
static Optional ofNullable(T value)
如果为非空,返回 Optional 描述的指定值,否则返回空的 Optional。
T orElse(T other)
如果存在该值,返回值, 否则返回 other。
直接看API不太清晰,直接上代码:
public static void main(String[] args) {
/**
* static <T> Optional<T> ofNullable(T value)
* 如果为非空,返回 Optional 描述的指定值,否则返回空的 Optional。
*/
Boolean a = null;
Optional<Boolean> a1 = Optional.ofNullable(a);
System.out.println(a1);
Boolean b = false;
Optional<Boolean> b1 = Optional.ofNullable(b);
System.out.println(b1);
/**
* T orElse(T other)
* 如果存在该值,返回值, 否则返回 other。
*/
Boolean aBoolean = a1.orElse(true);
// Boolean aBoolean = Optional.ofNullable(a).orElse(true);
System.out.println(aBoolean);
Boolean bBoolean1 = b1.orElse(true);
// Boolean bBoolean1 = Optional.ofNullable(b).orElse(true);
System.out.println(bBoolean1);
}
运行后的结果: