>Java >java지도 시간 >Java 9에서는 불변 목록을 어떻게 만들 수 있나요?

Java 9에서는 불변 목록을 어떻게 만들 수 있나요?

PHPz
PHPz앞으로
2023-08-20 11:49:171379검색

在Java 9中,我们如何创建一个不可修改的列表?

수정 불가능한 목록의 인스턴스를 생성한 후 목록의 요소를 추가 , 제거 또는 교체 할 수 없는 경우 목록은 수정 불가능 목록으로 간주됩니다. 정적 팩토리 메소드: List.of()Java 9에서 수정 불가능한 목록을 생성하는 편리한 방법을 제공합니다.

List.of() 메소드를 사용하여 생성된 리스트 인스턴스는 다음과 같은 특징을 가지고 있습니다.

  • 팩토리 메서드에서 반환된 목록은 일반적으로 immutable입니다. 즉, 목록의 요소를 추가 , 제거 또는 교체 할 수 없습니다. 목록에서 modifier 메소드를 호출하면 UnsupportedOperationException이 발생합니다.
  • 목록에 포함된 요소가 변경 가능인 경우 목록의 내용이 변경될 수 있습니다.
  • 불변 목록은 null 요소를 허용하지 않는 정적 팩토리 메소드를 사용하여 생성할 수 있습니다. null 요소가 포함된 목록을 만들려고 하면 NullPointerException이 발생합니다.
  • 모든 요소가 직렬화 가능한 경우 수정 불가능한 목록은 직렬화 가능입니다.
  • 목록의 요소 순서는 제공된 매개변수의 순서 또는 제공된 배열의 요소 순서와 동일합니다.

Grammar

<strong>List.of(E... elements)</strong>

Example

의 중국어 번역은 다음과 같습니다.

Example

import java.util.List;
public class UnmodifiedListTest {
   public static void main(String[] args) {
<strong>      List<String></strong> countries = <strong>List.of</strong>("India", "Australia", "England", "Newzealand");
      System.out.println("Countries - " + countries);
      countries.add("Srilanka"); <strong>// throws UnsupportedOperationException</strong>
   }
}

Output

<strong>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)</strong>

위 내용은 Java 9에서는 불변 목록을 어떻게 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제