java8學習筆記01 Optional物件替代Null判斷
文章目錄
應用Optional物件的意義
- 當一個物件宣告為Optional型別時,可以清晰地表達你的業務中,這個物件可能存在,也可能不存在,而對於那些明確需要存在的物件,則明確指定其為具體的型別,如String A,如果物件A不存在,那麼直接丟擲NPE異常,所以引入Optional物件可以更明確定位錯誤的原因
- 當一個物件需要根據是否為空來做多種條件判斷時,使用Optional就可以讓程式碼很簡潔,如:
Optional<String> username = Optional
.ofNullable(getUserById(id))
.map(user -> user.getUsername())
.map(name -> name.toLowerCase())
.map(name -> name.replace('_', ' '));
System.out.println("Username is: " + username.orElse("Unknown"));
Optional<String> username = Optional
.ofNullable(getUserById(id))
.filter(user -> user.getId() < 10)
.map(user -> user.getUsername());
System.out.println("Username is: " + username.orElse("Unknown"));
參考連結
相關文章
- 《Java8實戰》-第十章筆記(用Optional取代null)Java筆記Null
- sql when null 判斷SQLNull
- Promise 物件學習筆記Promise物件筆記
- js如何判斷一個變數是物件還是nullJS變數物件Null
- 中斷的學習筆記筆記
- 學習筆記——物件方法整理筆記物件
- 機器學習框架ML.NET學習筆記【7】人物圖片顏值判斷機器學習框架筆記
- Object C學習筆記17-動態判斷和選擇器Object筆記
- Java8 Optional類Java
- 學習筆記01筆記
- 【深入學習JVM 03】判斷一個物件是否可回收JVM物件
- 記憶體管理:判斷物件是否存活記憶體物件
- 學習筆記 物件許可權筆記物件
- JVM學習筆記-01JVM筆記
- JavaScript學習筆記01JavaScript筆記
- STM32學習筆記之中斷筆記
- STM32學習筆記——中斷筆記
- 使用Java8中的Optional類來消除程式碼中的null檢查JavaNull
- Javascript判斷空物件JavaScript物件
- Java學習筆記之類和物件Java筆記物件
- bootstrap學習筆記 多媒體物件boot筆記物件
- Lua學習筆記--物件導向(三)筆記物件
- 雲端計算學習路線教程程式碼筆記:多條件判斷語法筆記
- Sass學習筆記–初步瞭解函式、運算、條件判斷及迴圈筆記函式
- Java8新特性之:OptionalJava
- java8特性 Optional 工具類Java
- c#學習----邏輯判斷C#
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- 物件等同性判斷物件
- js空物件判斷 isPlainObjectJS物件AIObject
- Javascript 判斷物件是否相等JavaScript物件
- Flutter學習筆記(8)--Dart物件導向Flutter筆記Dart物件
- 學習筆記——瀏覽器物件模型(Window)筆記瀏覽器物件模型
- js高階 物件導向 學習筆記JS物件筆記
- Scala 學習筆記(2)之類和物件筆記物件
- Ext學習筆記2-物件導向筆記物件
- python3.4學習筆記(二) 型別判斷,異常處理,終止程式Python筆記型別
- MySQL中case?when對NULL值判斷的踩坑記錄RTGYMySqlNull