メソッドの参照の利点
定型文の削減
無駄なパラメータの削除: count や incr などのパラメータが削除されます。
例:
map.merge(key, 1, Integer::sum);
メソッドへの参照の効率的な使用
-
ラムダの便利なドキュメント: 場合によっては、ラムダのパラメータ名が役立つドキュメントを提供することがあります。
-
ラムダからメソッドへの変換: ラムダが複雑すぎる場合は、コードを別のメソッドに抽出し、そのメソッドへの参照を使用します。
メソッドの IDE とリファレンス
-
IDE の提案: IDE では、ラムダをメソッドへの参照に置き換えることがよく提案されます。
-
提案の受け入れ: 通常、提案を受け入れますが、ケースバイケースで評価します。
例外と考慮事項
-
より簡潔なラムダ: ラムダはメソッド参照よりも簡潔である場合があります。
- クラスの例:
-
メソッドのリファレンス: GoshThisClassNameIsHumongous::action
-
ラムダ: () ->アクション()
-
アイデンティティ関数: Function.identity() と× -> ×
メソッドの参照の種類
-
静的: 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])
結論
メソッド参照の設定: メソッド参照は、ラムダよりも短く明確な場合に使用します。
ラムダの使用: ラムダがより簡潔である場合、またはより適切なドキュメントを提供する場合は、ラムダを優先します。
以上が項目 ラムダよりもメソッドへの参照を優先するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。