람다와 스트림

언어/JAVA

[Effective Java] 람다보다는 메서드 참조를 사용하라

아이템 43 : 람다보다는 메서드 참조를 사용하라 람다가 익명 클래스보다 나은 점 중에서 가장 큰 특징은 간결함이다. 그런데 자바에는 함수 객체를 심지어 람다보다도 간결하게 만드는 방법이 있으니, 바로 메서드 참조다. 메서드 참조의 유형은 다섯 가지가 있다. 그 중 두 가지는 인스턴스 메서드를 참조하는 유형이다. 첫 번째, 정적 메서드를 가리키는 메서드 참조이다. 두 번째, 수신 객체를 특정하는 한정적 인스턴스 메서드 참조이다. 세 번째, 수신 객체를 특정하지 않는 비한정적 인스턴스 메서드 참조이다. 네 번째, 클래스 생성자를 가리키는 메서드 참조이다. 다섯 번째, 배열 생성자를 가리키는 메서드 참조이다. 핵심 정리 메서드 참조는 람다의 간단명료한 대안이 될 수 있다. 메서드 참조 쪽이 짧고 명확하다면 ..

언어/JAVA

[Effective Java] 익명 클래스보다는 람다를 사용하라

아이템 42 : 익명 클래스보다는 람다를 사용하라 예전에는 자바에서 함수 타입을 표현할 때 추상 메서드를 하나만 담은 인터페이스(드물게는 추상 클래스)를 사용했다. 이런 인터페이스의 인스턴스를 함수 객체라고 하여 특정 함수나 동작을 나타내는 데 썼다. 1997년 JDK 1.1이 등장하면서 함수 객체를 만드는 주요 수단은 익명 클래스가 되었다. 아래 코드는 문자열을 길이순으로 정렬하는데, 정렬을 위한 비교 함수로 익명 클래스를 사용한다. 1 2 3 4 5 Collections.sort(words, new Comparator()) { public int compare(String s1, String s2) { return Integer.compare(s1.length(), s2.length()); } });..

지나가던 개발자
'람다와 스트림' 태그의 글 목록