Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách tạo unmodifiable List trong Java 9

Một list được coi là unmodifiable (không thể sửa đổi) nếu các phần tử không thể thêm, xóa hoặc thay thế (replace) sau khi instance unmodifiable được tạo. Phương thức factory tĩnh: List.of() cung cấp cách thuận tiện tạo unmodifiable lists trong Java 9.

Instance list tạo bằng phương thức List.of() có đặc điểm:

  • List trả về theo quy ước immutable (bất biến). Phần tử không thể thêm, xóa, thay thế. Gọi bất kỳ phương thức mutator nào trên List gây UnsupportedOperationException.
  • Nếu phần tử chứa trong List là mutable, có thể khiến nội dung List xuất hiện thay đổi.
  • Immutable list tạo bằng factory methods tĩnh không cho phép phần tử null. Cố tạo với null ném NullPointerException.
  • Unmodifiable lists có thể serialize nếu tất cả phần tử serializable.
  • Thứ tự phần tử trong list giống thứ tự tham số cung cấp, hoặc thứ tự phần tử trong mảng cung cấp.

Cú pháp

List.of(E... elements)

Ví dụ

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
    }
}

Kết quả

Countries - [India, Australia, England, Newzealand]
Exception in thread "main" java.lang.UnsupportedOperationException