Item 27 : 비검사 경고를 제거하라
2021. 7. 26. 18:09
제네릭에서 주로 발생하는 컴파일러 경고
- 비검사 형변환 경고
- 비검사 메소드 호출 경고
- 비검사 매개변수화 가변인수 타입 경고
- 비검사 변환 경고 등
잘못된 예시
Set<Lark> exaltation = new HashSet()
수정 후
Set<Lark> exaltation = new HashSet<>() // 다이아몬드 연산자 추가
대부분의 비검사 경고를 제거 후 사용해야 하지만 안정성에 자신이 있다면
@SuppressWarnings("unchecked") 어노테이션을 달아 경고를 숨기면 된다.
그러나 무분별하게 사용하지 말고 가능한 좁은 범위에 적용하는 것이 중요하다.
예를 들어 메소드에서 오류가 발생했다면 메소드 자체를 어노테이션을 묶는 것이 아닌
메소드 안에 발생한 지역변수에 감싸주는 것이다.
그 이후에 경고를 숨기기로 한 근거를 주석으로 남겨 다른 사람이 코드를 이해하는데 도움을 주어야 한다.
'책 > 이펙티브자바' 카테고리의 다른 글
Item 29 : 이왕이면 제네릭 타입으로 만들라 (0) | 2021.07.29 |
---|---|
Item 28 : 배열보다는 리스트를 사용하라 (0) | 2021.07.27 |
Item 26 : 로 타입을 사용하지 말라 (0) | 2021.07.25 |
Item 25 : 탑클래스는 한 파일에 하나만 담으라 (0) | 2021.07.25 |
Item 24 : 멤버 클래스는 되도록 static으로 만들라 (0) | 2021.07.24 |