// Function<String, Integer> 부분에서 입력이 String이고 출력이 Integer라는
// 사실을 알려줬으므로 뒤에서는 생략할 수 있다는 느낌으로 이해하면 된다.
Function<String, Integer> f = (String s) -> Integer.parseInt(s);
위 문장을 아래와 같이 쓸 수 있다.
Function<String, Integer> f = Integer::parseInt; // 메서드 참조
Supplier<MyClass> s = () -> new MyClass();
Function<Integer, MyClass> s = (i) -> new MyClass(i);
위 코드를 아래와 같이 쓸 수 있다.
Supplier<MyClass> s = MyClass::new;
Function<Integer, MyClass> s = MyClass::new;
Function<Integer, int[]> f = x -> new int[x]; // 람다식
Function<Integer, int[]> f2 = int[]::new; // 메서드 참조