Language 초급

원시 컬렉션에서 제네릭 타입으로

원시 컬렉션 타입과 조회 시 캐스트를 컴파일 타임 제네릭 타입 안전성으로 대체합니다.

✕ Java 1.4
List names = new ArrayList();
names.add("Duke");

String name = (String) names.get(0);
✓ Java 5+
List<String> names = new ArrayList();
names.add("Duke");

String name = names.get(0);
이 코드에 문제가 있나요? 알려주세요.
🔒

컴파일 타임 안전성

잘못된 요소 타입은 런타임이 아니라 컴파일 중에 실패합니다.

🧹

조회 캐스트 불필요

값은 선언된 요소 타입을 그대로 유지합니다.

📖

자기 문서화 API

컬렉션 선언이 정확히 무엇을 포함하는지 알려줍니다.

이전 방식
원시 컬렉션
모던 방식
제네릭 컬렉션
JDK 버전
5
난이도
초급
원시 컬렉션에서 제네릭 타입으로
사용 가능

제네릭은 JDK 5(2004년 9월)부터 사용할 수 있습니다.

원시 컬렉션은 임의의 객체 타입을 허용하며, 타입 오류는 캐스트가 실행될 때까지 지연됩니다. 제네릭 타입 인자를 사용하면 컴파일러가 쓰기와 읽기를 검증하고, 캐스트를 제거하며, IDE 지원을 향상시키고, API 계약을 명시적으로 만들 수 있습니다. 원시 타입은 일반적으로 신중하게 격리된 레거시 상호 운용 경계에서만 남아 있어야 합니다.