메서드 참조로 대체할 수 있는 익명 타입을 보고합니다.

익명 클래스가 바인딩되지 않은 메서드 참조로 변환되는 경우, 후속 호출 중 Java 런타임에서 동일 메서드 참조 객체를 다시 사용할 수 있습니다. 반면 익명 클래스를 사용하면 매번 별도의 객체가 생성됩니다. 따라서 빠른 수정 적용 시 드물게 의미가 변경될 수 있습니다. 예: 익명 클래스 인스턴스가 HashMap 키로 사용되는 경우.

예:


  Runnable r = new Runnable() {
    @Override
    public void run() {
      System.out.println();
    }
  };

빠른 수정을 적용한 후:


  Runnable r = System.out::println;

인터페이스에 @FunctionalInterface 어노테이션이 추가되지 않은 경우 보고 옵션을 사용하여 @FunctionalInterface 어노테이션이 추가되지 않은 인터페이스에 대한 검사를 활성화합니다.