수정할 수 없는 것으로 간주되는 목록 요소를 추가할 수 없는 경우 , 제거됨 , 또는 대체 목록의 수정 불가능한 인스턴스가 생성되면 목록에서. 정적 팩토리 메소드:List.of() Java 9에서 수정할 수 없는 목록을 만드는 편리한 방법을 제공합니다. .
List.of()를 사용하여 생성된 목록의 인스턴스 메소드는 다음과 같은 특징이 있습니다.
- 팩토리 메서드에서 반환된 목록은 일반적으로 불변합니다. . 요소를 추가할 수 없음을 의미합니다. , 제거됨 , 또는 대체 목록에서. 모든 mutator 호출 목록의 메소드가 UnsupportedOperationException을 발생시킵니다. .
- List의 포함된 요소가 변경 가능인 경우 , 목록의 내용이 변경된 것처럼 보일 수 있습니다.
- 불변 목록은 널 요소를 허용하지 않는 정적 팩토리 메서드를 사용하여 생성할 수 있습니다. . null 요소로 만들려고 하면 NullPointerException이 발생합니다. .
- 수정할 수 없는 목록은 직렬화 가능합니다. 모든 요소가 직렬화 가능한 경우.
- 목록의 요소 순서는 제공된 매개변수 또는 제공된 배열의 요소 순서와 동일합니다.
구문
List.of(E... elements)
예시
import java.util.List; public class UnmodifiedListTest { public static void main(String[] args) { List<String> countries = List.of("India", "Australia", "England", "Newzealand"); System.out.println("Countries - " + countries); countries.add("Srilanka"); // throws UnsupportedOperationException } }
출력
Countries - [India, Australia, England, Newzealand] Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.ImmutableCollections.uoe(Unknown Source) at java.base/java.util.ImmutableCollections$AbstractImmutableList.add(Unknown Source) at UnmodifiedListTest.main(UnmodifiedListTest.java:7)