Optional 之 orElse(T other) 方法

Optional提供了很多檢測對象值的方法, 很好的解決了空指針異常

get()用來獲取對象的值, 但是值爲空就拋異常

orElse(T other)方法也是獲取對象的值, 和get()不同的是, orElse方法可以傳一個其他值, 如果獲取的對象值爲空, 則返回傳入的其他值

用例:

Optional<Boolean> result = Optional.empty();
// 有可能爲空:拋異常
if (result.get()) {
  
}
// 先判斷空再取值,調用兩個方法
if (result.isPresent() && result.get()) {
  
}
// 使用orElse方法, 如果爲空, 返回false
if (result.orElse(false)) {
  
}

使用orElse方法使用起來方便又簡潔

看一下源碼

public T orElse(T other) {
    return value != null ? value : other;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章