如果檢查的互聯鏈實現列表 - 一個數組
List<String> supplierNames = new ArrayList<String>();
LinkedList的實施列表API爲List
你會注意到它說:
Interface List<E>
作爲interface
意味着它不能實例化(沒有new List()
是可能的)。
如果選中該鏈接,你會發現一些class
ES實現List
:
All Known Implementing Classes:
AbstractList
, AbstractSequentialList
, ArrayList
, AttributeList
, CopyOnWriteArrayList
, LinkedList
, RoleList
, RoleUnresolvedList
, Stack
, Vector
那些可以被實例化。使用他們的鏈接瞭解更多關於他們的信息,I.E:瞭解哪些更適合您的需求。
3點最常用的可能是:
List<String> supplierNames1 = new ArrayList<String>();
List<String> supplierNames2 = new LinkedList<String>();
List<String> supplierNames3 = new Vector<String>();
獎勵:
您還可以使用值初始化它,在一個更簡單的方法,使用Arrays
class
,如下:
List<String> supplierNames = Arrays.asList("sup1", "sup2", "sup3");
System.out.println(supplierNames.get(1));
但是請注意,您不允許在該列表中添加更多元素,因爲它是fixed-size
。
Arrays.asList非常好,但是現在你應該已經注意到了,在'int [] a = {1,2,3};的System.out.println(Arrays.asList的(a)); // [[I @ 70cdd2]' –
@ J.A.I.L。這不是發生了什麼事。這是一個元素的列表,其中一個元素是一個int數組。想要的行爲可能是三個元素1,2和3的列表。 –
@ChristofferHammarström打印列表或數組時,可以使用java.util.Arrays.toString(array);所以這個特性已經給出了.. – Maxr1998