Leeyebin의 블로그

[JAVA]SuppressWarnings 본문

프로그래밍/JAVA

[JAVA]SuppressWarnings

안되면될때까지 2017. 5. 22. 15:37

제네릭을 공부하다가 warning을 사용하지 않는 방법에 대해 찾아 보았다.


@SuppressWarnings를 사용하여 경고 제외

Java 5.0부터 java.lang.SuppressWarning 어노테이션을 사용하여 컴파일 단위의 서브세트와 관련된 컴파일 경고를 사용하지 않도록 설정할 수 있습니다.

 @SuppressWarning("unused") public void foo() {

  String s;

 }

어노테이션이 없으면 컴파일러에서 로컬 변수 s를 사용할 수 없습니다. 어노테이션을 사용하여 컴파일러는 이 경고를 foo 메소드에 대해 로컬에서 무시합니다. 이러한 경우 동일한 컴파일 단위 또는 동일한 프로젝트의 다른 위치에 경고를 보관할 수 있습니다.


SuppressWarnings 어노테이션 내부에서 사용할 수 있는 토큰 목록은 다음과 같습니다.

  • all 모든 경고를 억제합니다.

  • boxing boxing/unboxing 오퍼레이션과 관련된 경고를 억제합니다.

  • cast 캐스트 오퍼레이션과 관련된 경고를 억제합니다.

  • dep-ann 권장되지 않는 어노테이션과 관련된 경고를 억제합니다.

  • deprecation 권장되지 않는 기능과 관련된 경고를 억제합니다.

  • fallthrough switch 문에서 누락된 break 문과 관련된 경고를 억제합니다.

  • finally 리턴되지 않는 마지막 블록과 관련된 경고를 억제합니다.

  • hiding 변수를 숨기는 로컬과 관련된 경고를 억제합니다.

  • incomplete-switch switch 문에서 누락된 항목과 관련된 경고를 억제합니다(enum case).

  • javadoc javadoc 경고와 관련된 경고를 억제합니다.

  • nls 비nls 문자열 리터럴과 관련된 경고를 억제합니다.

  • null 널(null) 분석과 관련된 경고를 억제합니다.

  • rawtypes 원시 유형 사용법과 관련된 경고를 억제합니다.

  • resource 닫기 가능 유형의 자원 사용에 관련된 경고 억제

  • restriction 올바르지 않거나 금지된 참조 사용법과 관련된 경고를 억제합니다.

  • serial 직렬화 가능 클래스에 대한 누락된 serialVersionUID 필드와 관련된 경고를 억제합니다.

  • static-access 잘못된 정적 액세스와 관련된 경고를 억제합니다.

  • static-method static으로 선언될 수 있는 메소드와 관련된 경고를 억제합니다.

  • super 수퍼 호출을 사용하지 않는 메소드 겹쳐쓰기와 관련된 경고를 억제합니다.

  • synthetic-access 내부 클래스로부터의 최적화되지 않은 액세스와 관련된 경고를 억제합니다.

  • sync-override 동기화된 메소드를 오버라이드하는 경우 누락된 동기화로 인한 경고 억제

  • unchecked 미확인 오퍼레이션과 관련된 경고를 억제합니다.

  • unqualified-field-access 규정되지 않은 필드 액세스와 관련된 경고를 억제합니다.

  • unused 사용하지 않은 코드 및 불필요한 코드와 관련된 경고를 억제합니다.

출처 : https://www.ibm.com/support/knowledgecenter/ko/SSQ2R2_9.1.0/org.eclipse.jdt.doc.user/tasks/task-suppress_warnings.htm



'프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] 객체지향  (0) 2017.06.05
[JAVA]코드 효율성  (0) 2017.05.22
[JAVA] 파일 이름 변경하기  (0) 2017.01.15
[JAVA]VO 정렬하기  (0) 2017.01.03
[JAVA]ArrayList, Array  (0) 2016.07.16
Comments