Java - method reference

iseon_u·2022년 6월 11일
0

Java

목록 보기
67/77
post-thumbnail

method reference 메서드 참조


종류람다메서드 참조
static 메서드 참조(x) → ClassName.method(x)ClassName::method
인스턴스 메서드 참조(obj, x) → obj.method(x)ClassName::method
특정 객체 인스턴스 메서드 참조(x) → obj.method(x)obj::method
  • 하나의 메서드만 호출하는 람다식은 ‘메서드 참조’로 간단히 할 수 있다.
  • 메서드 참조를 람다식으로 바꾸는 연습 📖

클래스이름::메서드이름

static 메서드 참조

Integer method(String s) { // 그저 Integer.parseInt(String s) 만 호출
		return Integer.parseInt(s);
}
// -----> 람다식
Function<String, Integer> f = (String s) -> Integer.parseInt(s);
// -----> 메서드 참조
Function<String, Integer> f = Integer::parseInt;
  • 함수형 인터페이스에 정보가 다있기 때문에 메서드 참조로 변환 가능

생성자의 메서드 참조

매개변수 없는 경우

Supplier<MyClass> s = () -> new MyClass();
// -----> 람다식
Supplier<MyClass> s = MyClass::new;

매개변수 있는 경우

Function<Integer, MyClass> s = (i) -> new MyClass(i);
Function<Integer, MyClass> s = MyClass::new;

배열의 메서드 참조

Function<Integer, int[]> f = x -> new int[x]; // 람다식
Function<Integer, int[]> f2 = int[]::new; // 메서드 참조
profile
🧑🏻‍💻 Hello World!

0개의 댓글