안전하게 final로 만들 수 있는 필드를 보고합니다. 모든 final 필드에는 값이 있으며 이 값은 변경되지 않으므로 코드를 더 쉽게 추론할 수 있습니다.

분석에 과도한 비용이 드는 것을 피하기 위해, 이 검사는 필드에 private 제어자가 있거나 이 필드가 로컬 또는 익명 클래스에서 정의된 경우만 보고합니다. 다음과 같은 경우 필드가 final일 수 있습니다.

어디서도 수정되지 않은 경우.

예:


  public class Person {
    private String name; // final일 수 있음

    Person(String name) {
      this.name = name;
    }

    public String getName() {
      return name;
    }
  }

빠른 수정을 적용한 후:


  public class Person {
    private final String name;

    Person(String name) {
      this.name = name;
    }

    public String getName() {
      return name;
    }
  }

'어노테이션' 버튼을 사용하여 묵시적 필드 쓰기를 가정하는 어노테이션의 목록을 수정하세요.