這是本文件的舊版!
Effective Java - Prefer method references to lambdas
Introduction & My Opinion
這個item回歸Lambda的目的之一: 讓程式更清晰簡潔。以書中範例來說,它使用了Map的merge功能:
map.merge(key, 1, (count, incr) -> count + incr);以這段程式碼來說,假如key有重複,它會將old value與第二個參數的new value相加。假如改用method reference的寫法,會更容易表達意圖:
map.merge(key, 1, Integer::sum);但使用method reference也有可能不會達到更好效果,這個可以自行判斷。另外書中整理了以下五種method reference的方式:
Note
Effective Java第三版Item 43。
Reference
- Effective Java, 3/e