ホームページ  >  記事  >  Java  >  項目 ラムダよりもメソッドへの参照を優先する

項目 ラムダよりもメソッドへの参照を優先する

王林
王林オリジナル
2024-07-19 14:02:39699ブラウズ

メソッドの参照の利点

  • 簡潔さ: メソッドへの参照はラムダよりも簡潔です。
    例: merge:

  • を使用してマップ内の値を増加します。
  • ラムダ: (カウント、増分) ->カウント + 増分
    メソッドのリファレンス: Integer::sum

定型文の削減
無駄なパラメータの削除: 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])

結論
メソッド参照の設定: メソッド参照は、ラムダよりも短く明確な場合に使用します。
ラムダの使用: ラムダがより簡潔である場合、またはより適切なドキュメントを提供する場合は、ラムダを優先します。

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

以上が項目 ラムダよりもメソッドへの参照を優先するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。