인프런 강의 "더 자바, JAVA8"(백기선님)의 강의를 듣고 정리한 글 입니다.
JAVA8에 추가된 핵심 기능들을 이해하기 쉽게 설명해 주시니 한번씩 들어보시는 것을 추천드립니다.
Function<Integer, Integer> plusTen = (i) -> i + 10;
plusTen.apply(10); // 20
plusTen.compose(multiplyTwo).apply(2); // multiplyTwo 먼저
plusTen.andThen(multiplyTwo).apply(2); // plusTen 먼저
BiFunction<String, String, Integer> biFunction = (a, b) -> a.length() - b.length();
System.out.println(biFunction.apply("snow", "now")); // print 1
Consumer<Integer> printT = (i) -> System.out.println(i);
printT.accept(10); // print 10
Supplier<Integer> get10 = () -> 10;
System.out.println(get10.get()); // print 10
Predicate<String> startWithJ = (s) -> s.startsWith("s");
System.out.println(startWithJ.test("snow")); // true