JAva 8-メソッドリファレンス
1928 ワード
方法の研究
ランダが既存のメソッドまたはジェネレータを呼び出す場合、メソッド抽出を使用して辛辣な簡潔な表現を行うことができます.
メソッド参照:
Static Methodリファレンスタイプ:::Static Method特定オブジェクトのインスタンスメソッドリファレンスオブジェクトリファレンス文献::インスタンスメソッド任意オブジェクトのインスタンスメソッドリファレンスタイプ::インスタンスメソッド作成者リファレンスタイプ::new
// 생성자 참조
Supplier<Greeting> newGreeting = Greeting::new;
// 위의 식을 썼다고 Gretting 객체가 생기는 것이 아니다.
Greeting greeting2 = newGreeting.get();
// 위와 같이 get() 함수를 사용해야 Greeting 객체를 만들 수 있다.
// 생성자 참조
Function<String, Greeting> hyunsikGreeting = Greeting::new;
Greeting hyunsik = hyunsikGreeting.apply("hyunsik");
// 스태틱 메소드 참조
UnaryOperator<String> hi = Greeting::hi;
String hiHyunsik = hi.apply("hyunsik");
// 특정 객체의 인스턴스 메소드 참조
Greeting greeting = new Greeting();
UnaryOperator<String> hello = greeting::hello;
String hi2Hyunsik = hello.apply("hyunsik");
// 임의 객체(불특성 다수)의 인스턴스 메소드 참조
String[] names = {"hyunsik", "aaa", "bbb"};
Arrays.sort(names, String::compareToIgnoreCase);
System.out.println(Arrays.toString(names));
Reference
この問題について(JAva 8-メソッドリファレンス), 我々は、より多くの情報をここで見つけました https://velog.io/@hyun6ik/자바8-메소드-레퍼런스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol