람다 표현식을 이용한 코드는 다양한 요구사항 변화에 대응할 수 있도록 동작을 파라미터한다.
코드 가독성이 좋다는 것은 어떤 코드를 다른 사람도 쉽게 이해할 수 있음
을 의미한다.
하나의 추상 메서드를 구현하는 익명 클래스는 람다 표현식으로 리팩터링할 수 있다.
// 익명 클래스를 사용한 이전 코드
Runnable r1 = new Runnable() {
public void run() {
System.out.println("Hello");
}
};
// 람다 표현식을 사용한 코드
Runnable r2 = () -> System.out.println("Hello");
람다 표현식 대신 메서드 참조를 이용하면 가독성을 높일 수 있다.
Map<CaloricLevel, List<Dish>> dishesByCaloricLevel =
menu.stream().collect(groupingBy(Dish::getCaloricLevel));
// 람다 표현식을 메서드로 추출 후 dish 클래스에 getCaloricLevel 메서드 추가
public class Dish {
...
public CaloricLevel getCaloricLevel() {
...
}
}