Effective Java Item 55:謹慎使用 Optional 作為回傳值

整理 Effective Java 書中 Item 55: Use Optional judiciously 心得筆記

主旨

在 Java 8 以前,當方法沒辦法回傳有效值時,我們只有兩個選擇:拋出例外回傳 null。但這兩者都有明顯缺點。Java 8 引入的 Optional<T> 提供了更安全、更具表達力的選項,但這並不表示它應該無腦使用。

本篇會釐清什麼情況該用 Optional、什麼情況不該用,並提供實務建議。

Read more

Effective Java Item 54:回傳空集合或陣列,不要回傳 null

整理 Effective Java 書中 Item 54: Return empty collections instead of null心得筆記

主旨

當方法沒有資料可回傳時,有些人會選擇回傳 null,以代表「沒有資料」。但這麼做會讓呼叫端增加處理成本,也提高潛在錯誤發生的機率。正確做法應該是 回傳空的集合或陣列,這樣寫起來更簡潔、安全、直觀,也幾乎不會有效能損失。

Read more