首頁  >  文章  >  Java  >  Item 喜歡方法的引用而不是 lambda

Item 喜歡方法的引用而不是 lambda

王林
王林原創
2024-07-19 14:02:39700瀏覽

方法參考的優點

  • 簡潔:方法的引用比 lambda 更簡潔。
    範例:使用合併增加 Map 中的值:

  • Lambda:(計數,增量)->計數 + 增量
    方法參考:Integer::sum

減少樣板
無用參數刪除: 刪除 count 和 incr 等參數。
例:

map.merge(key, 1, Integer::sum);

有效使用方法參考

  • Lambda 中的有用文件: 在某些情況下,Lambda 中的參數名稱可以提供有用的文件。
  • 將 Lambda 轉換為方法: 如果 lambda 太複雜,請將程式碼提取到單獨的方法中並使用對該方法的參考。

IDE 與方法參考

  • IDE 建議: IDE 通常建議用方法引用取代 lambda。
  • 接受建議:一般來說,接受建議,但要根據具體情況進行評估。

例外與注意事項

  • 更簡潔的 Lambda 表達式: 有時 lambda 表達式比方法引用更簡潔。
  • 類別範例:
  • 方法參考: GoshThisClassNameIsHumongous::action
  • Lambda: () ->動作()
  • 恆等函數: Function.identity() 與 Function.identity() 對比x-> x

方法的參考類型

  • 靜態:Integer::parseInt (lambda: str -> Integer.parseInt(str))
  • 有限: Instant.now()::isAfter (lambda: t -> Instant.now().isAfter(t))
  • 無限: String::toLowerCase (lambda: str -> str.toLowerCase())
  • 類別建構子: TreeMap::new (lambda: () -> new TreeMap)
  • 陣列建構子: int[]::new (lambda: len -> new int[len])

結論
方法引用的偏好: 當方法引用比 lambda 更短、更清晰時使用方法引用。
Lambda 的使用: 如果 lambda 更簡潔或提供更好的文檔,則偏好 lambda。

Item  Dê preferência às referências para métodos em vez dos lambdas

以上是Item 喜歡方法的引用而不是 lambda的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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