Effective Java Item 58:優先使用 for-each 迴圈而非傳統 for 迴圈

整理 Effective Java 書中 Item 58: Prefer for-each loops to traditional for loops 心得筆記

主旨

在 Java 中處理陣列或集合時,for-each 迴圈(也叫 enhanced for loop)比傳統的 for 迴圈更簡潔、更安全、更容易維護。除非遇到特定場景(例如刪除元素、修改值、平行遍歷多集合),否則應優先使用 for-each。

Read more

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

Effective Java Item 53:謹慎使用 varargs

整理 Effective Java 書中 Item 53: Use varargs judiciously 心得筆記

主旨

Java 中的 varargs(variable arity arguments,可變參數)允許在方法中接受 不定數量的參數。這在設計彈性 API、像是 printf() 或是工具類別時非常好用。但 varargs 是把雙面刃,用錯了可能導致 執行時錯誤隱性效能問題。這篇將帶你學會:什麼時候該用 varargs,什麼時候該避免,怎麼用才安全又優雅。

Read more

Effective Java Item 52:謹慎使用 overloading

整理 Effective Java 書中 Item 52: Use overloading judiciously 心得筆記

主旨

在 Java 中,方法的 overloading(多載) 是一種常見語法糖,但如果使用不當,容易導致令人困惑的行為與難以追蹤的錯誤。尤其當泛型、自動裝箱(autoboxing)、lambda 及 method reference 進入語言後,混淆性更高。本條目要提醒我們:能用不代表該用,overloading 要非常小心設計。

Read more