import java.util.function.Function;
public class Try {
public static void main(String[] args) {
// 람다식으로 작서했을 경우
// Function<String,Integer> f =(String s) -> Integer.parseInt(s);
// 위에 람다식으로 작성한 부분 주석 처리 후 메서드 참조로 변경 하면
Function<String,Integer> f = Integer::parseInt;
System.out.println(f.apply("100")+200);
}
}
import java.util.function.Supplier;
public class Try {
public static void main(String[] args) {
// 람다식일 때
// Supplier<MyClass> s = () -> new MyClass();
// 메서드 참조로 변경 했을 때
Supplier<MyClass> s = MyClass::new;
MyClass mc = s.get();
System.out.println(mc);
System.out.println(s.get()); // 여기서 s.get()은 또 다른 객체가 만들어진것
}
}
class MyClass {}
import java.util.function.Function;
public class Try {
public static void main(String[] args) {
// 아래클래스 몸 통 작성후 Supplier 사용 불가 따라서주석처리하고
// Supplier<MyClass> s = () -> new MyClass();
// 아래와 같이 코드 작성해주기
Function<Integer, MyClass> s = (i) -> new MyClass(i);
// Fucntion에는 get()이 아니 apply()
MyClass mc = s.apply(100);
System.out.println(mc);
System.out.println(mc.iv);
}
}
class MyClass {
int iv;
MyClass(int iv){
this.iv = iv;
}
}