Rumah >Java >javaTutorial >Bagaimanakah kita membuat Set tidak berubah dalam Java 9?

Bagaimanakah kita membuat Set tidak berubah dalam Java 9?

王林
王林ke hadapan
2023-08-20 17:57:281447semak imbas

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

Kaedah kilang statik tidak berubah Set.of() boleh menyediakan cara mudah untuk mencipta koleksi tidak berubah di Java 9.

Instance set yang dibuat menggunakan kaedah Set.of() mempunyai ciri-ciri berikut.

  • Koleksi yang dikembalikan melalui kaedah kilang biasanya tidak berubah. Ini bermakna tidak boleh ditambah pada koleksi, dikeluarkan atau menggantikan elemen. Memanggil mana-mana kaedah pengubah suai pada koleksi akan menghasilkan UnsupportedOperationException.
  • Jika elemen dalam koleksi boleh berubah, ia mungkin menyebabkan kandungan koleksi kelihatan berubah.
  • Koleksi tidak berubah boleh dibuat menggunakan kaedah kilang statik yang tidak membenarkan nullelemen. Jika anda cuba mencipta koleksi dengan unsur null, NullPointerException akan dilemparkan.
  • Apabila mencipta koleksi tidak berubah,
  • elemen pendua ditolak. Menghantar elemen pendua kepada kaedah kilang statik menghasilkan IllegalArgumentException.
  • Tertib lelaran elemen koleksi adalah
  • tidak ditentukan dan mungkin berubah. Terjemahan bahasa Cina bagi
Tatabahasa

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

Contoh

ialah:

Contoh

import java.util.Set;
public class SetOfMethodTest {
   public static void main(String args[]) {
      Set<String> names = <strong>Set.of</strong>("Adithya", "Bhavish", "Chaitanya", "Jai");
      System.out.println("Names - " + names);
      names.add("Raja");       <strong>// throws UnsupportedOperationException</strong>
   }
}

Output

<strong>Names - [Bhavish, Adithya, Jai, Chaitanya]
</strong><strong>Exception in thread "main" java.lang.UnsupportedOperationException
 at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
 at java.base/java.util.ImmutableCollections$AbstractImmutableSet.add(Unknown Source)
   at SetOfMethodTest.main(SetOfMethodTest.java:8)</strong>

Atas ialah kandungan terperinci Bagaimanakah kita membuat Set tidak berubah dalam Java 9?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam