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

เงื่อนไขของ Collection Factory Methods ใน Java 9

Java 9 เพิ่ม static factory methods ให้ Collections: List.of(), Set.of(), Map.of(), Map.ofEntries() สร้าง immutable collections

เงื่อนไข/ข้อจำกัด

  • โครงสร้าง immutable (ไม่แก้ไขได้หลังสร้าง)
  • ไม่อนุญาต null elements/keys
  • Serializable ถ้าทุก element serializable
  • ปฏิเสธ duplicate elements/keys ตอนสร้าง
  • ลำดับ iteration ของ Set ไม่ระบุ และอาจเปลี่ยน
  • Value-based: factories อาจสร้าง instance ใหม่หรือ reuse อย่าใช้ identity-sensitive operations

ไวยากรณ์

List.of(elements...)
Set.of(elements...)
Map.of(k1, v1, k2, v2)
Map.ofEntries(entry1, entry2...)

ตัวอย่าง

Set countries = Set.of("India", "England", "South Africa", "Australia");
System.out.println(countries); // [South Africa, India, Australia, England]

try {
    countries.add("New Zealand"); // UnsupportedOperationException
} catch (Exception e) {
    System.out.println("Cannot modify immutable collection!");
}

ผลลัพธ์

[South Africa, India, Australia, England]
Cannot modify immutable collection!