Why?

비검사 경고란, 컴파일러가 “타입 검사를 하지 않는다.”라는 의미를 가진 경로를 의미한다. 이러한 경고를 그대로 둔다면, 어플리케이션은 타입 안정성을 잃어버리게 된다. 이 경고 메시지의 행간에는 런타임 시점에 ClassCastException이 발생할 수 있고 저자의 의도대로 코드가 동작하지 않을 수도 있다라는 의미가 담겨 있다.

Wrong

예제 코드

Set<String> statements = new HashSet();

오류 메시지

Vnery.java:4 warning: [unchecked] unchecked conversion

required: Set<String>

found: HashSet

Right

예제 코드

다이아몬드<> 연산자는 컴파일러가 올바른 실제 타입 매개변수를 추론할 수 있도록 도와주는 연산자이다.

Set<String> statements = new HashSet<>();

오류 발생 시점; Compile

스크린샷 2024-12-11 오후 4.38.37.png