整理 Effective Java 書中 Item 43: Prefer method references to lambdas 心得筆記
主旨
Java 8 推出 Lambda 表達式後,大大減少了匿名類別帶來的冗長語法。不過其實 Java 還有更簡潔的選擇,那就是「方法參考」(Method Reference)。這種語法讓我們可以直接把現有的方法當作函式物件來用,省去命名參數和撰寫邏輯的麻煩。本篇將說明方法參考的用法、優勢,以及在什麼情況下優先使用。
整理 Effective Java 書中 Item 43: Prefer method references to lambdas 心得筆記
Java 8 推出 Lambda 表達式後,大大減少了匿名類別帶來的冗長語法。不過其實 Java 還有更簡潔的選擇,那就是「方法參考」(Method Reference)。這種語法讓我們可以直接把現有的方法當作函式物件來用,省去命名參數和撰寫邏輯的麻煩。本篇將說明方法參考的用法、優勢,以及在什麼情況下優先使用。
整理 Effective Java 書中 Item 42: Prefer lambda expressions to anonymous classes 心得筆記
在 Java 8 之前,若要實作一個函式物件(function object),通常會使用匿名類別。但寫法冗長、閱讀不易。Java 8 引入 Lambda 表達式後,可以用更簡潔的語法來表示這些功能。這篇文章會說明為什麼你應該「偏好使用 Lambda」,並補充 Lambda 和匿名類別的異同、注意事項,以及何時該避免使用 Lambda。
整理 Effective Java 書中 Item 41: Use marker interfaces to define types 心得筆記
標記介面(Marker Interface)是沒有任何方法的介面,只是單純用來代表一個「型別」。雖然 Java 也可以用標註(annotation)來達到類似效果,但在要表示「某類型具備某種能力」時,還是推薦使用標記介面,因為它可以帶來更強的型別安全與語意明確性。
整理 Effective Java 書中 Item 40: Use @Override annotations 心得筆記
在 Java 裡,如果你要「覆寫(override)」父類別或介面的某個方法,請務必加上 @Override
註解。這個小小的標記,不只是告訴編譯器「我想要覆寫」,更是一道保險機制,可以幫助你避免不小心寫出錯誤的程式碼。
整理Effective Java書中Item 39: Prefer annotations to naming patterns心得筆記
在 Java 裡,如果我們要標記一段程式碼是「特別用途」(像是測試方法),有兩種做法:一種是靠命名,例如把方法命名為 testXxx
,另一種則是用註解(Annotation)。這篇建議我們盡量使用註解,而不要依賴命名慣例,因為註解更安全、更具可讀性,也更容易維護。