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("사전순으로 나중에 옵니다.");
		}
 	}
}
동일한 문자열입니다.
동일한 문자열입니다.

+ Recent posts