วิธีการโรงงานคงที่ที่ไม่เปลี่ยนรูป 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)