728x90
- 잠재적 위험이 될 수 있는 경고를 제거하는게 좋다.
- 경고를 제거할 수는 업지만 타입이 안전하다고 확신할 수 있다면 @SuppressWarnings("unchecked") 를사용하자
- 해당 어노테이션을 사용했다면 해당 경고를 무시해도 안전한 이유를 주석으로 남겨야 한다.
- 최대한 좁은 범위로 한정하자.상위에 넣으면 하위의 모든 경고가 무시되기 때문에, 추후 누군가가 경고가 될만한 코드를 넣어도 무시된다.
public class SuppressWarning {
Object[] elementData;
private int size;
public <T> T[] toArray(T[] a) {
if (a.length < size) {
@SuppressWarnings("unchecked")
T[] result = (T[]) Arrays.copyOf(elementData, size, a.getClass());
return result;
}
System.arraycopy(elementData, 0, a, 0, size);
if (a.length > size)
a[size] = null;
return a;
}
}
728x90
'공부 > 이펙티브자바' 카테고리의 다른 글
[이펙티브자바]item 29.이왕이면 제네릭 타입으로 만들라. (0) | 2023.02.13 |
---|---|
[이펙티브자바]item 28.배열보다는 리스트를 사용하라. (0) | 2023.02.11 |
[이펙티브자바]item 26.로 타입은 사용하지 말라 (0) | 2023.02.10 |
[이펙티브자바]item 25.톱레벨 클래스는 한 파일에 하나만 담으라. (0) | 2023.02.08 |
[이펙티브자바]item 24.멤버 클래스는 되도록 static으로 만들라. (0) | 2023.02.08 |
댓글