Heap Pollution

heap pollution이란 parameterized type의 변수가 해당하는 타입을 참조하지 않는 경우를 말한다.

예를들어:

List ln = new ArrayList<Number>();
List<String> ls = ln;  // unchecked warning
String s = ls.get(0); // ClassCastException

lnls에 대입하면 List<String> 타입의 변수 lsList<Number>를 가리키게 된다. 이러한 상황이 heap pollution이다. heap pollutionClassCastException을 초래한다.

위 코드를 컴파일 하면 unchecked warning이 발생하는데, 이런류의 경고가 없도록 컴파일 하면 help pollution을 예방할 수 있다.

참고