ホームページ  >  記事  >  Java  >  Java 9 では、どうすれば不変のリストを作成できますか?

Java 9 では、どうすれば不変のリストを作成できますか?

PHPz
PHPz転載
2023-08-20 11:49:171361ブラウズ

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

変更不可能なリスト インスタンスを作成した後、リストから addremove、または replace# を実行できない場合 # # 要素の場合、リストは 変更不可能な リストとみなされます。静的ファクトリ メソッド: List.of() Java 9 で変更不可能なリストを作成する便利な方法を提供します。

List.of() メソッドを使用して作成されたリスト インスタンスには、次の特性があります。

    ファクトリ メソッドによって返されるリストは通常​​、
  • immutable です。これは、リストから addremove、または replace 要素を実行することができないことを意味します。リスト上の任意の modifier メソッドを呼び出すと、UnsupportedOperationException がスローされます。
  • リストに含まれる要素が
  • variable の場合、リストの内容が変更される可能性があります。
  • 不変リストは、
  • null 要素を許可しない静的ファクトリ メソッドを使用して作成できます。 null 要素を含むリストを作成しようとすると、NullPointerException がスローされます。
  • すべての要素がシリアル化可能であれば、変更不可能なリストは
  • serializable になります。
  • リスト内の要素の順序は、指定された引数の順序または指定された配列内の要素の順序と同じです。
文法

<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>
   }
}

出力

<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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。