[Java] - Method References
3085 ワード
Method Reference
何ですか。
これは特殊な文法で、ランムダ式で実現される方法を参照することができます.
Timer t = new Timer(1000, event -> System.out.println(event));
メソッドリファレンスにより、上記のラムダコードを以下の簡単なリファレンスで記述できます. Timer t = new Timer(1000, System.out::println);
この例で使用するmethod referenceのフォーマットはobject::intanceMethodです.どのように作成しますか?
メソッドリファレンスには3つの作成方法があります.
指定したオブジェクトのメソッドを呼び出し、instanceメソッドにパラメータを渡します.
System.out::println // same as (x)-> System.out.println(x)
this::equals //same as (x) -> this.equals(x)
すべてのパラメータは静的メソッドで伝達されます.
Math::pow // same as (x,y) -> Meth.pow(x,y)
1番目のパラメータはmethodを伝達するobjectとなり,2番目のパラメータはこの方法に伝達される.
String::compareToIgnoreCase(x,y) // same as (x,y) -> x.CompareToIgnoreCase(y)
使用する理由
CSから作成
Reference
この問題について([Java] - Method References), 我々は、より多くの情報をここで見つけました https://velog.io/@jylee9937/Java-Method-Referencesテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol