Nếu bạn đánh dấu vào API cho List
bạn sẽ thấy thông báo cho biết:
Interface List<E>
Là interface
nghĩa là không thể khởi tạo được (không new List()
).
Nếu bạn kiểm tra liên kết đó, bạn sẽ tìm thấy một số class
es mà thực hiện List
:
All Known Implementing Classes:
AbstractList
, AbstractSequentialList
, ArrayList
, AttributeList
, CopyOnWriteArrayList
, LinkedList
, RoleList
, RoleUnresolvedList
, Stack
, Vector
Những có thể được khởi tạo. Sử dụng liên kết của họ để biết thêm về họ, I.E: để biết cái nào phù hợp hơn với nhu cầu của bạn.
3 người dùng phổ biến nhất có lẽ là:
List<String> supplierNames1 = new ArrayList<String>();
List<String> supplierNames2 = new LinkedList<String>();
List<String> supplierNames3 = new Vector<String>();
Bonus:
Bạn cũng có thể nhanh chóng nó với các giá trị, trong một cách dễ dàng hơn, bằng cách sử dụng Arrays
class
, như sau:
List<String> supplierNames = Arrays.asList("sup1", "sup2", "sup3");
System.out.println(supplierNames.get(1));
Nhưng lưu ý rằng bạn không được phép thêm các yếu tố khác vào danh sách đó, vì đó là fixed-size
.
Nguồn
2012-11-15 10:07:41
Arrays.asList là tuyệt vời nhưng như bạn cần phải nhận thấy bây giờ không làm những gì người ta mong đợi trong các trường hợp như 'int [] a = {1,2,3}; System.out.println (Arrays.asList (a)); // [[I @ 70cdd2] ' –
@ J.A.I.L. Đó không phải là những gì đang xảy ra. Đó là danh sách của một phần tử, trong đó một phần tử là một mảng int.Hành vi mong muốn có lẽ là danh sách gồm ba phần tử 1, 2 và 3. –
@Christoffer Hammarström để in một danh sách hoặc một mảng, bạn có thể sử dụng java.util.Arrays.toString (mảng) ;, do đó tính năng này đã được cung cấp .. – Maxr1998