주변 클래스와 이름이 동일하게 지정된 지역 변수를 보고합니다. 이와 같이 이름이 지정될 경우, 필드를 사용하려다가 동일한 이름의 변수를 실수로 사용할 수 있습니다.

빠른 수정에서는 변수 이름을 변경하도록 제안합니다.

예:


  public class Foo {
    public Object foo;

    void bar() {
      Object o = new Object() {
        void baz() {
          Object foo; // 지역 변수 'foo'는 클래스의 필드 'Foo'를 숨깁니다
        }
      };
    }
  }

이 검사에서 다음 옵션을 구성할 수 있습니다.

  1. 액세스할 수 없는 필드 무시 - 표시되지 않는 상위 클래스 필드(예: private 필드)와 이름이 동일한 지역 변수를 무시합니다
  2. 비 static 필드를 숨기는 static 컨텍스트의 지역 변수 무시 - 예를 들어 지역 변수가 static 메서드 내부에 있거나 static 내부 클래스의 메서드 내부에 있을 경우 무시합니다.