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;
}
相關文章
相關標籤/搜索