Computer >> Máy Tính >  >> Lập trình >> Java

Điều kiện cho các phương thức của nhà máy Collection trong Java 9 là gì?


Trong Java 9, phương thức gốc đã được thêm vào Bộ sưu tập API . Chúng tôi có thể tạo không thể sửa đổi danh sách, đặt bản đồ đối tượng thu thập để giảm số lượng dòng mã bằng cách sử dụng nó. List.of (), Set.of (), Map.of () Map.ofEntries () phương pháp nhà máy tĩnh cung cấp cách thuận tiện để tạo bất biến bộ sưu tập .

Dưới đây là điều kiện đối với các phương pháp của nhà máy Bộ sưu tập:

  • Chúng là bất biến về cấu trúc.
  • Họ không cho phép các phần tử rỗng hoặc các khóa rỗng.
  • Chúng có thể tuần tự hóa nếu tất cả các phần tử đều có thể tuần tự hóa.
  • Họ từ chối các phần tử / khóa trùng lặp tại thời điểm tạo.
  • Thứ tự lặp lại của các phần tử tập hợp là không xác định và có thể thay đổi.
  • Chúng dựa trên giá trị. Các nhà máy được tự do tạo các phiên bản mới hoặc sử dụng lại các phiên bản hiện có. Do đó, các hoạt động nhạy cảm với danh tính trên các trường hợp này, mã băm danh tính và đồng bộ hóa là không đáng tin cậy và có thể tránh được.

Cú pháp

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

Ví dụ

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!");
      }
   }
}

Đầu ra

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