비검사 경고를 제거하라
할 수 있는 한 모든 비검사 경고를 제거한다면 그 코드는 타입 안정성이 보장 된다!. ClassCastException이 발생할 일이 없고, 우리가 의도한 대로 잘 동작하리라 확신할 수 있다.
- 경고를 제거할 수는 없지먼 type safe 하다고 확신할 수 있다면
@SuppressWarnings("unchecked")
애너테이션을 달아 경고를 숨기자.- 단, type safe 를 검증하지 않고 경고를 숨기면 안 된다!
@SuppressWarnings
애너테이션은 항상 가능한 좁은 범위에 적용해야 한다. 범위가 넓으면 자칫 심각한 경고를 놓찰 수 있기 때문이다.- 지역변수를 새로 생성하는 일이 있다고 해도 그만한 값어치가 있다.
@SuppressWarnings("unchecked")
를 사용할 때는 경고를 무시해도 안전한 이유를 항상 주석으로 남겨야 한다.