Development/Java
Warring-Type safety: The method add(Object) belongs to the raw type ArrayList. References to generic type ArrayList<E> should be parameterized
codedragon
2021. 12. 1. 03:25
반응형
경고메시지
Type safety: The method add(Object) belongs to the raw type ArrayList. References to generic type ArrayList<E> should be parameterized |
경고 원인
ArrayList<E>의 <E>제네릭 타입에 자료형을 명시해 주어야 하시만 명시하지 않아서 발생하는 경고 메시지입니다. 그래서 모든 객체의 부모인 Object타입으로 처리되고 있습니다. 이 경우 데이터를 추가하거나 추출할 때 ArrayList에 존재하는 데이터의 타입을 일일이 확인해 주어 적절한 타입으로 형변환을 해주어야 하며 이렇게 하지 않을 경우 타입이 안전하지 않아 보다 안전한 코딩(시큐어코딩; 보안코딩)이 되지 않습니다.
경고메시지를 제거하려면 <E>에 ArrayList에 추가하고자 하는 데이터 객체의 타입을 명시해 주면 됩니다.
Type unsafe | ArrayList list1 = new ArrayList(10); list1.add(new Integer(5)); |
Type safe | ArrayList<Integer> list1 = new ArrayList<Integer>(10); list1.add(new Integer(5)); |