方法參考的優點
減少樣板
無用參數刪除: 刪除 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 喜歡方法的引用而不是 lambda的詳細內容。更多資訊請關注PHP中文網其他相關文章!