불변 리스트 생성
하나의 깔끔한 표현식으로 불변 리스트를 만듭니다.
코드 비교
✕ Java 8
List<String> list =
Collections.unmodifiableList(
new ArrayList<>(
Arrays.asList("a", "b", "c")
)
);
✓ Java 9+
List<String> list =
List.of("a", "b", "c");
이 코드에 문제가 있나요? 알려주세요.
모던 방식이 더 나은 이유
한 번의 호출
세 개의 중첩 호출을 단일 팩토리 메서드로 대체합니다.
진정한 불변
단순 래퍼가 아니라 리스트 자체가 불변입니다.
null 안전
생성 시점에 null 요소를 거부하여 빠른 실패를 보장합니다.
이전 방식
장황한 래핑
모던 방식
List.of()
JDK 버전
9
난이도
초급
JDK 지원
불변 리스트 생성
사용 가능
JDK 9 (2017년 9월) 이후 널리 사용 가능
동작 원리
List.of()는 래핑이나 방어적 복사 없이 진정한 불변 리스트를 만듭니다. null에 비허용적(null 요소 거부)이며 구조적으로 불변입니다. 이전 방식은 세 개의 중첩 호출이 필요했습니다.
관련 문서