SE8 メソッド参照

ラムダ式を用いて、リストの要素を標準出力へ出力するには、次のように記述する。 List texts = …; texts.forEach(text -> System.out.println(text));

このラムダ式では、メソッドコールしかしておらず、しかもメソッドさえ分かればどのようにコールするかは一意に決まる。
このような場合、ラムダ式ではなく、メソッドを指す記述法を用いることができる。これをメソッド参照と呼ぶ。

上のコードをメソッド参照を使って書き換えると次のようになる。 List texts = …; texts.forEach(System.out::println);

メソッド参照には次の3種類がある。
 ・クラスメソッド参照
 ・インスタンスメソッド参照
 ・コンストラクタ参照

クラスメソッドのメソッド参照は次のように記述する。

  クラス名::メソッド名

クラスメソッドがオーバーロードされている場合も、関数型インタフェースのメソッドと引数が一致するクラスメソッドが選択さる。

投稿者 java

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です