java 8 lambda 사용 및 functional interface 및 function 클래스

1092 단어 자바
자바 8 의 function 류 는 lamda 표현 식 의 하나 로 인 터 페 이 스 를 정의 하여 직접 호출 할 수 있 고 편리 합 니 다.
자바 자체 function 류 를 사용 하지 않 으 면 인 터 페 이 스 를 정의 한 후 lamda 표현 식 으로 functional interface 의 함 수 를 표현 합 니 다.
예:
import java.util.function.Function;
import java.util.function.Predicate;

public class HelloWorld {
	
		// functional interface
	@FunctionalInterface
	interface StringMapper{
		int map(String str);
	}
	
	public static void main(String[] args){
		StringMapper mapper=(String str)->str.length();
		System.out.println(mapper.map("chen"));
		
		// Function 
		Function square1=(x)->x*x;
		System.out.println(square1.apply(5));
		
		
		// chaining three functions
		Function chainedFunction = ((Function)(x -> x * x))
				.andThen(x -> x + 1)
				.andThen(x -> x * x);
		System.out.println(chainedFunction.apply(3L));
		
		// predictates
		Predicate greaterThanTen=x->x>10;
		System.out.println(greaterThanTen.test(15));
	}

}

출력:
4
25 100 true

좋은 웹페이지 즐겨찾기