Supplier<T> Interface

972 단어 JavaJava

Supplier Interface는 함수형 인터페이스로
매개 변수를 받지 않고 단순히 반환하는 get이라는 추상메서드가 존재한다.
T타입을 그냥 반환 하는 것.
Lazy Evalution- 불필요한 연산을 지연시켜서 피함을 뜻함.

예를들어 String타입의 매개변수를 받는 메서드에
String타입의 Supplier인터페이스를 매개변수로 넣었을 때
그 String타입의 메서드를 바로 동작 시키지 않고,
안에서 get이 실행될 때만 함수를 안에서 동작시킬 수 있다.
뭐 특정 조건문을 통과한 다음 함수를 작동하게 하고 싶을 때 쓰이기 좋다.


public static void main(String[] args){

print(1, getB("김치"));		// 1김치
print(2, getB("김치"));		// 2김치
print(-1, getB("김치"));	// -1
}
public static String getB(String input){
	retrun input;
}

public static void print(int a, Supplier<String> b){
		System.out.print(a);
		if(a > 0){
				System.out.println(b.get());
		}
}

레퍼런스:

링크텍스트

좋은 웹페이지 즐겨찾기