安全に 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;
    }
  }

暗黙的なフィールドの書き込みを想定するアノテーションのリストを変更するには、「アノテーション」ボタンを使用します。