아이템32 제네릭과 가변인수를 함께 쓸 때는 신중하라
Effective Java 3e 아이템 32를 요약한 내용 입니다.
warning: [unchecked] Possible heap pollution from
parameterized vararg type List<String>static void danferous(List<String>... stringLists) {
List<Integer> intList = List.of(42);
Object[] objects = stringLists;
objects[0] = intList; // 힙 오염 발생
String s = stringLists[0].get(0); // ClassCastException
}그렇다면 메서드가 안전한지는 어떻게 확신할 수 있을까?
static <T> T[] toArray(T... args) {
return args;
}정리
Last updated