Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

เราจะสร้างชุดที่แก้ไขไม่ได้ใน Java 9 ได้อย่างไร


วิธีการโรงงานคงที่ที่ไม่เปลี่ยนรูป Set.of() สามารถให้วิธีที่สะดวกในการสร้าง แก้ไขไม่ได้ ชุด ใน Java 9

ตัวอย่างของชุดที่สร้างขึ้นโดยใช้ Set.of() วิธีการมีลักษณะดังต่อไปนี้

  • ชุดที่ส่งคืนโดยวิธีการจากโรงงานนั้นตามอัตภาพไม่เปลี่ยนรูปแบบ . หมายความว่าองค์ประกอบไม่สามารถเพิ่ม , ลบแล้ว หรือ แทนที่ จากชุด การเรียกของ กลายพันธุ์ เมธอดบน Set ทำให้ UnsupportedOperationException .
  • หากองค์ประกอบที่มีอยู่ใน Set เปลี่ยนแปลงได้ อาจทำให้เนื้อหาของชุดเปลี่ยนไปได้
  • ไม่เปลี่ยนรูป ตั้งค่า สามารถสร้างได้โดยใช้วิธีการแบบคงที่ของโรงงานที่ไม่อนุญาต null องค์ประกอบ หากเรากำลังพยายามสร้างด้วยองค์ประกอบ null มันจะส่ง NullPointerException .
  • ปฏิเสธ ซ้ำ องค์ประกอบ ในช่วงเวลาของการสร้างชุดที่ไม่เปลี่ยนรูป องค์ประกอบที่ซ้ำกันส่งผ่านไปยังวิธีการโรงงานแบบคงที่ส่งผลให้ IllegalArgumentException .
  • ลำดับการวนซ้ำขององค์ประกอบชุด ไม่ได้ระบุ และอาจมีการเปลี่ยนแปลง

ไวยากรณ์

Set.of(E... elements)

ตัวอย่าง

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

ผลลัพธ์

Names - [Bhavish, Adithya, Jai, Chaitanya]
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)