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

เงื่อนไขสำหรับวิธีการ Collection Factory ใน Java 9 มีอะไรบ้าง


ใน Java 9 วิธีการจากโรงงาน ถูกเพิ่มใน คอลเลกชัน API . เราสามารถสร้าง ไม่สามารถแก้ไขได้ รายการ ตั้งค่า และ แผนที่ วัตถุคอลเลกชันเพื่อลดจำนวนบรรทัดของรหัสโดยใช้ List.of(), Set.of(), Map.of() และ Map.ofEntries() เป็นวิธีการแบบคงที่จากโรงงาน เป็นวิธีที่สะดวกในการสร้าง ไม่เปลี่ยนรูป คอลเลกชัน .

ด้านล่างคือ เงื่อนไข สำหรับวิธีการรวบรวมโรงงาน:

  • ไม่สามารถเปลี่ยนแปลงโครงสร้างได้
  • ไม่อนุญาตองค์ประกอบ null หรือคีย์ null
  • สามารถซีเรียลไลซ์ได้หากองค์ประกอบทั้งหมดเป็นแบบซีเรียลไลซ์ได้
  • ปฏิเสธองค์ประกอบ/คีย์ที่ซ้ำกัน ณ เวลาที่สร้าง
  • ลำดับการวนซ้ำขององค์ประกอบชุดไม่ระบุและอาจมีการเปลี่ยนแปลง
  • สิ่งเหล่านี้อิงตามมูลค่า โรงงานสามารถสร้างอินสแตนซ์ใหม่หรือนำอินสแตนซ์ที่มีอยู่มาใช้ซ้ำได้ฟรี ดังนั้น การดำเนินการที่มีความละเอียดอ่อนของข้อมูลประจำตัวบนอินสแตนซ์เหล่านี้ รหัสแฮชของข้อมูลประจำตัว และการซิงโครไนซ์จึงไม่น่าเชื่อถือและสามารถหลีกเลี่ยงได้

ไวยากรณ์

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

ตัวอย่าง

import java.util.Set;

public class CollectionsTest {
   public static void main(String args[]) {
      System.out.println("Java 9 Introduced a static factory method: of()");
      Set<String> immutableCountrySet = Set.of("India", "England", "South Africa", "Australia");
      System.out.println(immutableCountrySet);
      try {
         immutableCountrySet.add("Newzealand");
      } catch(Exception e) {
         System.out.println("Caught Exception, Adding Entry to Immutable Collection!");
      }
   }
}

ผลลัพธ์

Java 9 Introduced a static factory method: of()
[South Africa, India, Australia, England]
Caught Exception, Adding Entry to Immutable Collection!