Tôi biết tôi có thể tuyên bố và khởi tạo một List
sử dụng dấu ngoặc kép:khởi cú đúp đúp với bộ sưu tập lồng nhau
// (1)
List<Object> myList = new ArrayList<object>(){{
add("Object1");
add("Object2");
}};
Nhưng tôi muốn có một List
của <Map<Object,Object>>
:
// (2)
List<Map<Object,Object>> myList = new ArrayList<Map<Object,Object>>();
Làm thế nào tôi có thể sử dụng dấu ngoặc kép khởi tạo (xem (1)) với các bộ sưu tập lồng nhau? Mục tiêu của tôi là khai báo và khởi tạo cấu trúc dữ liệu trong một dòng.
Ngoài ra tôi muốn biết nếu có một số hạn chế nhất định khi sử dụng khởi tạo cú đúp đôi tôi phải nhận thức được.
Chỉ cần sử dụng mã khởi tạo "bình thường"; khởi động cú đúp đôi rất khó đọc. Code là WORM (Write Once, Read Many). Lưu ý: nếu đây là danh sách tĩnh, hãy sử dụng trình khởi tạo tĩnh. – fge
Tại sao bạn muốn viết mã như vậy? Bạn có làm việc một mình không? – kolossus
Không sử dụng "dấu ngoặc kép", bởi vì mỗi khi bạn làm điều đó, bạn đang tạo ra một lớp con vô dụng của ArrayList. –