java 익명클래스, 람다, 함수형 인터페이스는 많은 경우 상호 호환/대체가 가능합니다. 예제를 보면서 알아보겠습니다.
아래처럼 list 객체가 있을때, ArrayList strings = new ArrayList(); strings.add("a"); strings.add("b"); list 의 sort 를 호출시 2개 string 을 비교해주는 로직을 아래처럼 익명 클래스를 통해 넣어주면 동작합니다. strings.sort(new Comparator() { @Override public int compare(String o1, String o2) { return 0; } }); 익명 클래스 대신 아래처럼 람다를 사용해도 됩니다. strings.sort((o1, o2) -> { return 0;} ); 또한 명시적으로 Comparator 를 만든 후 대입해줘도 됩니다. Comparator stringComparator = (o1, o2)...
#
interface
#
lambda
#
람다
#
메서드참조
#
인터페이스
#
함수형