整理 Effective Java 書中 Item 55: Use Optional judiciously 心得筆記
主旨
在 Java 8 以前,當方法沒辦法回傳有效值時,我們只有兩個選擇:拋出例外 或 回傳 null。但這兩者都有明顯缺點。Java 8 引入的 Optional<T> 提供了更安全、更具表達力的選項,但這並不表示它應該無腦使用。
本篇會釐清什麼情況該用 Optional、什麼情況不該用,並提供實務建議。
整理 Effective Java 書中 Item 55: Use Optional judiciously 心得筆記
在 Java 8 以前,當方法沒辦法回傳有效值時,我們只有兩個選擇:拋出例外 或 回傳 null。但這兩者都有明顯缺點。Java 8 引入的 Optional<T> 提供了更安全、更具表達力的選項,但這並不表示它應該無腦使用。
本篇會釐清什麼情況該用 Optional、什麼情況不該用,並提供實務建議。
整理 Effective Java 書中 Item 54: Return empty collections instead of null心得筆記
當方法沒有資料可回傳時,有些人會選擇回傳 null,以代表「沒有資料」。但這麼做會讓呼叫端增加處理成本,也提高潛在錯誤發生的機率。正確做法應該是 回傳空的集合或陣列,這樣寫起來更簡潔、安全、直觀,也幾乎不會有效能損失。