如何在Java中初始化List 对象?

问题:

我无法初始化列表,如下面的代码:

List<String> supplierNames = new List<String>();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));

我面临以下错误:

无法实例化类型List<String>

如何实例化List<String>

回答:

如果您检查API List,您会注意到:

Interface List<E>

作为interface意味着不能实例化(不可以new List())。
如果您检查该链接,您会发现实施Listclass

所有已知实施类:
 AbstractListAbstractSequentialListArrayListAttributeListCopyOnWriteArrayListLinkedListRoleListRoleUnresolvedListStackVector

那些可以实例化。使用他们的链接来了解更多关于他们的意见。
最常用的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

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to initialize List object in Java?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

57 − = 54