匿名クラスのフィールドのうち、外側のメソッドまたはラムダ式のローカル変数またはパラメーターと名前がまったく同じものを報告します。

このような命名を行うと、外側のメソッドの名前がまったく同じ変数やパラメーターが意図されている場合に匿名クラスのフィールドを誤って使用する可能性があります。

フィールドの名前を変更するクイックフィックスが提案されます。

例:


  class Test {
    public Test(String value) {
      Object foo = new Object() {
        private String value = "TEST";
        public void foo() {
          System.out.println(value); //パラメーターではなくフィールドにアクセスしています
        }
      };
    }
  }