ホームページ > Java > &#&チュートリアル > System.out::println に相当するラムダ式とは何ですか?

System.out::println に相当するラムダ式とは何ですか?

Linda Hamilton
リリース: 2024-11-03 15:16:30
オリジナル
791 人が閲覧しました

What is the Lambda Expression Equivalent of System.out::println?

System.out::println に相当するラムダ式の探索

Java のメソッド参照構文は、メソッドを参照するための簡潔で読みやすい方法を提供します。この例では、メソッド参照 System.out::println が forEach メソッドへの引数として使用されます。

メソッド参照について

メソッド参照 System .out::println は、System.out によって参照されるオブジェクトを使用して println メソッドを呼び出す必要があることを示します。この場合、System.out は System クラスの静的メンバーであり、標準出力ストリームを表します。

同等のラムダ式

System の同等のラムダ式。 out::println は次のようになります:

<code class="java">o -> System.out.println(o)</code>
ログイン後にコピー

このラムダ式は、最初に System.out を評価し、評価された値を取得してから、ラムダ関数を作成します。このラムダ関数は引数 o を受け取り、キャプチャされた System.out オブジェクトで println メソッドを呼び出し、o の値を標準出力に出力します。

Exact Equivalent Lambda Expression

ただし、System.out::println とまったく同等のものには次の手順が必要であることに注意してください:

  1. 評価された System.out オブジェクトを変数に保存します:

    <code class="java">PrintStream p = Objects.requireNonNull(System.out);</code>
    ログイン後にコピー
  2. ラムダ式で格納された変数を使用する:

    <code class="java">numbers.forEach(o -> p.println(o));</code>
    ログイン後にコピー

これとまったく同じことで、System.out への変更が影響を与えないことが保証されます。ラムダ式の動作。

以上がSystem.out::println に相当するラムダ式とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート