IT/JAVA
Effective Java 2 - 규칙24 - "무점검 경고(unchecked warning)를 제거하라"
최고영회
2016. 8. 6. 10:34
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