[Effective Java 3/e] 아이템 44 - 표준 함수형 인터페이스를 사용하라


아이템 44 - 표준 함수형 인터페이스를 사용하라

불필요한 함수형 인터페이스 - 대신 표준 함수형 인터페이스를 사용하라

@FunctionalInterface interface EldestEntryRemovalFunction<K,V>{
  boolean remove(Map<K,V> map, Map.Entry<K,V> eldest);
}

// 표준 함수형 인터페이스 사용
BiPredicate<Map<K,V>, Map.Entry<K,V>>

정리

  • 필요한 용도에 맞는게 있다면, 직접 구현하지 말고 함수형 인터페이스를 활용하라.
  • 표준 함수형 인터페이스 대부분은 기본 타입만 지원한다.
    • 박싱된 기본 타입을 넣어 사용하지는 말 것
      • 성능 느려짐
  • 직접 만든 함수형 인터페이스에는 항상 @FunctionalInterface 애너테이션을 사용하라.