首頁 >Java >java教程 >項目 優先使用標準功能接口

項目 優先使用標準功能接口

WBOY
WBOY原創
2024-07-25 10:47:31659瀏覽

Item  Prefira o uso das interfaces funcionais padrão

使用Lambda 的API 的演變:隨著Java 中lambda 的引入,編寫API 的實踐發生了變化,例如避免使用模板方法模式而轉而使用靜態方法接受函數物件的工廠或建構子。

LinkedHashMap 範例: 與其重寫用於快取控制的removeEldestEntry 方法,不如使用 BiPredicate 函數介面將靜態工廠或建構子與函數物件一起使用會更現代。

標準函數接口的使用: java.util.function 包提供了廣泛的標準函數接口,這些接口應該優先於自定義接口,以使 API 更容易理解並提高互通性。

主要功能介面:

  • UnaryOperator: 將 T 類型的函數應用於 T。
  • BinaryOperator:將 T 型別的雙參數函數套用到 T。
  • 謂詞: 測試參數並傳回布林值。
  • 函數: 將類型 T 的函數應用於 R。
  • 供應商: 提供不含參數的 T 型別值。
  • 消費者: 消費 T 類型的參數而不回傳。

原始類型的函數介面:原始類型(int、long、double)的六種基本介面有多種變體,例如 IntPredicate 和 LongBinaryOperator。

何時建立自訂功能介面:
當沒有標準介面滿足需求時。
當需要描述性名稱或強有力的契約時。
當介面可以從自訂預設方法中受益時。
使用@FunctionalInterface註解:表示該介面被設計為支援lambdas,確保它只有一個抽象方法。

避免不明確的重載:不要創建具有許多重載的方法,這些重載在同一參數位置接受不同的功能介面以避免歧義。

**結論:**現代 API 的設計必須考慮 Lambda 和函數式介面。一般來說,最好使用預設的 java.util.function 接口,除非在特殊情況下需要自訂接口。

以上是項目 優先使用標準功能接口的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:實作刪除方法下一篇:實作刪除方法