Item42 - 익명 클래스보다 람다를 사용하라

🌧  소개

// 예시 코드로 문자열을 길이순으로 정렬하는데, 정렬을 위한 비교함수로 익명클래스를 사용한다.
Collections.sort(words, new Comparator<String>() {
	public int compare(String s1, String s2) {
		return Integer.compare(s1.length(), s2.length());
	}
});

☄️  람다식의 등장

// 다음은 익명 클래스를 사용한 앞의 코드를 람다 방식으로 바꾼 모습이다. 
// 자질구레한 코드들이 사라지고 어떤 동작을 하는지가 명확하게 드러남 !
Collections.sort(word, 
			(s1,s2) -> 	Integer.compare(s1.length(), s2.length()));

⚡️ 생성자 메서드 등장

//자바 8때 List 인터페이스에 추가된 sort 메서드를 이용하면 더욱 짧아진다.
Collections.sort(words,comparingInt(String::length));
// 람다를 언어 차원에서 지원하면서 기존에는 적합하지 않았던 곳에서도 객체를 실용적으로 사용할 수 있게 되었다.
words.sort(comparingInt(String::length));

👀  Item 34 예제 변형시키기