Optional 之 orElse(T other) 方法

Optional提供了不少检测对象值的方法, 很好的解决了空指针异常指针

get()用来获取对象的值, 可是值为空就抛异常对象

orElse(T other)方法也是获取对象的值, 和get()不一样的是, orElse方法能够传一个其余值, 若是获取的对象值为空, 则返回传入的其余值get

用例:源码

Optional<Boolean> result = Optional.empty();
// 有可能为空:抛异常
if (result.get()) {
  
}
// 先判断空再取值,调用两个方法
if (result.isPresent() && result.get()) {
  
}
// 使用orElse方法, 若是为空, 返回false
if (result.orElse(false)) {
  
}

使用orElse方法使用起来方便又简洁io

看一下源码方法

public T orElse(T other) {
    return value != null ? value : other;
}
相关文章
相关标签/搜索