a 매개 변수의 메소드를 호출해서 b 매개 변수를 매개값으로 사용
(a, b) -> { a.instanceMethod(b); };
클래스(매개변수의 타입) :: instanceMethod
매개 변수의 메소드 참조
package sec06.exam02_argument_method_references;
import java.util.function.ToIntBiFunction;
public class ArgumentMethodReferencesExample {
public static void main(String[] args) {
ToIntBiFunction<String, String> function;
//compareToIgnoreCase : 대소문자 구별 안하고 비교
//a의 인스턴스 메소드 호출하여 b를 매개값으로 사용
//a < b 이면 음수 리턴
//a = b 이면 0 리턴
//a > b 이면 양수 리턴
function = (a, b) -> a.compareToIgnoreCase(b); //대소문자 구별 x
print(function.applyAsInt("Java8", "JAVA8"));
function = String :: compareToIgnoreCase; //a의 타입 :: 인스턴스 메소드
print(function.applyAsInt("Java8", "JAVA8"));
}
public static void print(int order) {
if(order < 0) {
System.out.println("사전순으로 먼저 옵니다.");
} else if(order == 0) {
System.out.println("동일한 문자열입니다.");
} else {
System.out.println("사전순으로 나중에 옵니다.");
}
}
}
동일한 문자열입니다.
동일한 문자열입니다.
'Java > 14. 람다식 (Lambda Expressions)' 카테고리의 다른 글
Day 20 : Exercise - 람다식 (0) | 2021.11.15 |
---|---|
Day 20 : 생성자 참조 (0) | 2021.11.15 |
Day 20 : 정적 메소드와 인스턴스 메소드 참조 (0) | 2021.11.15 |
Day 20 : minBy(), maxBy() 정적 메소드 (0) | 2021.11.15 |
Day 20 : isEqual() 정적 메소드 (0) | 2021.11.15 |