JAVA/Effective Java

제네릭 - 규칙 24 무점검 경고를 제거하라

반응형

제네릭을 사용하다보면 다양한 원인으로 인해 컴파일러 경고 메시지를 보게된다.

이런 무점검 경고 가운데 상당수는 쉽게 없앨 수 있다.

예를 들면 다음과 같은 경우가 있다.


1
2
3
4
5
6
Set<Babo> example = new HashSet();
 
// warning : unchecked conversion
 
// 해결 방법
Set<Babo> example = new HashSet<>();
cs



이런 예와 같은 무점검 경고는 가능하다면 없애야 typesafe(형안전성)을 보장할 수 있어
ClassCastException 발생을 방지할 수 있다.

형 안전성이 확실한 코드를 계속 

warning  상태로 놔두게 되면 진짜 중요한 메시지를 놓칠 수 있기 때문에

만약 제거가 어려운 경고 메시지는 형 안전성이 확실하다고 생각될 경우에만
@SupressWarnings("unchecked") 어노테이션을 사용한다.

하지만 @SupressWarnings("unchecked") 어노테이션을 사용할 경우에는 범위를 줄여서 사용해야 하며, 왜 형 안정성이 확보가 된다고 판단이 되는지 주석을 달아주어야 한다.




출처 : 조슈아 블로크, 『 Effective Java 2/E』, 이병준 옮김, 인사이트(2014.9.1), 규칙24 인용.

반응형