본문 바로가기
IT/JAVA

Effective Java 2 - 규칙24 - "무점검 경고(unchecked warning)를 제거하라"

by 최고영회 2016. 8. 6.
728x90
반응형
SMALL

- 무점검 경고는 중요하다. 무시하지 마라.
- 모든 무점검 경고는 프로그램 실행 도중에 ClassCastException이 발생할 가능성을 나타낸다.
- 최선을 다해 그런 메시지를 제거하라. 
- 제거할 수 없는 경우 형 안정성을 보장한다는 사실을 입증할 수 있다면,     
  @SuppressWarning("unchecked") annotation을 사용해 해당 경고를 억제하라.
- 어노테이션 적용 범위는 최소화 하라.
- 경고 메시지를 억제한 이유를 주석에 써 놓아야 한다.

// @SuppressWarnings의 적용 범위를 줄이기 위해 지역 변수 사용 public <T> T[] toArray(T[] a) { if ( a.length < size) { // 아래의 형변환은 배열의 자료형이 인자로 전달된 자료형인 T[]와 // 같으므로 정확하다. @SuppressWarnings("unchecked") T[] result = (T[])Arrays.copyOf(elements, size, a.getClass()); return result; } System.arrayCopry(elements, 0, a, 0, size); if ( a.length > size ) { a[size] = null; } return a; }


728x90
반응형
LIST