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
- 學習筆記01筆記
- JVM學習筆記-01JVM筆記
- Nodejs學習筆記-01 eventsNodeJS筆記
- Promise 物件學習筆記Promise物件筆記
- 01_Linux學習筆記(一)Linux筆記
- 學習筆記-DAY01-VUE筆記Vue
- RAC學習筆記-Day_01筆記
- Gin學習筆記01 框架使用筆記框架
- G01學習筆記-8筆記
- G01學習筆記-6筆記
- G01學習筆記-2筆記
- G01學習筆記-3筆記
- G01學習筆記-7筆記
- G01學習筆記-4筆記
- G01學習筆記-1筆記
- G01學習筆記-5筆記
- JavaWeb學習筆記~01.ServletJavaWeb筆記Servlet
- 中斷的學習筆記筆記
- 學習筆記——物件方法整理筆記物件
- 機器學習框架ML.NET學習筆記【7】人物圖片顏值判斷機器學習框架筆記
- 【深入學習JVM 03】判斷一個物件是否可回收JVM物件
- 記憶體管理:判斷物件是否存活記憶體物件
- 初級英語學習筆記01筆記
- Spring AOP學習筆記01:AOP概述Spring筆記
- 20.10.29【EndNote學習彙總筆記01】筆記
- Task01&Task02學習筆記筆記
- Redis學習筆記【01】 - 安裝RedisRedis筆記
- Java學習筆記01 - JavaSE基礎Java筆記
- Java8 Optional類Java
- Unlink學習筆記(off-by-one null byte漏洞利用)筆記Null
- Javascript判斷空物件JavaScript物件
- 【python 物件導向】 python物件學習筆記《1》Python物件筆記
- 使用Java8中的Optional類來消除程式碼中的null檢查JavaNull
- 01-Excel基礎操作-學習筆記Excel筆記
- 初識C語言(01)—學習筆記C語言筆記
- STM32學習筆記之中斷筆記
- STM32學習筆記——中斷筆記