lambda表達式使編寫A皮的最佳實踐改變了。接受函數對象的靜態工廠或構造器可以替代模板方法。
1.只要有能滿足需求的標準函數接口,就不應該再構建新的接口。 以下是6個基本接口:
2.不要使用帶包裝類型的基礎函數接口來代替基本函數。它破壞了基本類型優于裝箱類型的原則。批量處理裝箱基本類型可能會有性能問題。
3.在滿足以下一點或多點情況下,可以自己編寫函數接口。但要始終使用@FunctionalInterface注釋來注釋您的功能接口。
a.通用,并可從描述性名稱中受益。
b.有與其關聯的強約定
c.受益于定制的缺省方法
4.不要給相同參數位置,提供不同的函數接口來進行重載。它會在客戶端導致歧義。
標準的函數接口在實際開發中還是用到不少。但還沒有自己編寫過新的函數接口,下次遇到滿足條件的情況下可以嘗試下。