差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改 Both sides next revision
java:effective_java:lambdas_and_streams:favor_the_use_of_standard_functional_interfaces [2019/07/21 23:31]
tony
java:effective_java:lambdas_and_streams:favor_the_use_of_standard_functional_interfaces [2019/09/05 23:53]
tony
行 2: 行 2:
 ====== Effective Java - Favor the use of standard functional interfaces ====== ====== Effective Java - Favor the use of standard functional interfaces ======
 ===== Introduction ===== ===== Introduction =====
-這個item的主要目的是希望大家能夠盡量使用JDK本身所提供的functional interfaces而減少自創武功。書中的例子是使用LinkedHashMap的protected method removeEldestEntry,這是一個template method;在Java 8以前可以透過override這個method來達到保留最新的100個entries:​+這個item的主要目的是希望大家能夠盡量使用JDK本身所提供的functional interfaces而減少自創武功。減少自創武功的原因主要有以下幾點:​ 
 +  - 這會讓你設計的API容易被學習,如果用的人熟悉JDK內建的API,可以避免他們需要額外去了解你定義的概念。 
 +  - 這將讓你的API較容易維護。因為東西越多,通常會越複雜,測試也會跟著增加。 
 +書中的例子是使用LinkedHashMap的protected method removeEldestEntry,這是一個template method;在Java 8以前可以透過override這個method來達到保留最新的100個entries:​
 <code java> <code java>
 protected boolean removeEldestEntry(Map.Entry<​K,​V>​ eldest) { protected boolean removeEldestEntry(Map.Entry<​K,​V>​ eldest) {