비검사 경고
할 수 있는 한 모든 비검사 경고를 제거하라. 모두 제거한다면 그 코드는 타입 안전성이 보장된다. 경고를 제거할 수는 없지만 타입 안전하다고 확신할 수 있다면 @SuppressWarnings("unchecked")
애너테이션을 달아 경고를 숨기자. 단 반드시 타입 안전에 대해 검증을 해야한다. @SupressWarnings
애너테이션은 지역변수부터 클래스 전체까지 어느 위치에서든 달 수 있다. 하지만 SupressWarnings 애너테이션은 가능한 좁은 범위에 적용하자. SupressWarnings 애너테이션은 return 문에는 달 수 없다. 그럴 때는 반환을 위한 지역변수를 생성하고 해당 변수에 애너테이션을 달자. SupressWarnings 애너테이션을 사용할 때면 그 경고를 무시해도 안전한 이유를 항상 주석으로 남겨야 한다. 다른 사람이 그 코드를 이해하는데 도움이 되며, 더 나아가 그 사람이 잘못된 방식으로 코드를 수정하는 것을 막아준다. 코드가 안전한 근거가 쉽게 떠오르지 않더라도 포기하지 말자. 근거를 찾던 중에 그 코드가 사실 안전하지 않다는 것을 발견할 수도 있다.