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

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


รายการที่ถือว่า แก้ไขไม่ได้ หากองค์ประกอบไม่สามารถ เพิ่ม , ลบแล้ว หรือ แทนที่ จากรายการเมื่อมีการสร้างอินสแตนซ์ที่ไม่สามารถแก้ไขได้ของรายการ วิธีการโรงงานแบบคงที่:List.of() เป็นวิธีที่สะดวกในการสร้างรายการที่แก้ไขไม่ได้ใน Java 9 .

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

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

ไวยากรณ์

List.of(E... elements)

ตัวอย่าง

import java.util.List;
public class UnmodifiedListTest {
   public static void main(String[] args) {
      List<String> countries = List.of("India", "Australia", "England", "Newzealand");
      System.out.println("Countries - " + countries);
      countries.add("Srilanka"); // throws UnsupportedOperationException
   }
}

ผลลัพธ์

Countries - [India, Australia, England, Newzealand]
Exception in thread "main" java.lang.UnsupportedOperationException
 at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
 at java.base/java.util.ImmutableCollections$AbstractImmutableList.add(Unknown Source)
 at UnmodifiedListTest.main(UnmodifiedListTest.java:7)