如何在Java中初始化List <String>对象?
我无法按照以下代码初始化列表:
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()
不可能)。
如果你检查该链接,则会发现一些class
实现的List
:
所有已知的实施类:
AbstractList,AbstractSequentialList,ArrayList,AttributeList,CopyOnWriteArrayList,LinkedList,RoleList,RoleUnresolvedList,Stack,Vector
那些可以实例化。使用它们的链接来了解有关它们的更多信息,即IE:知道哪个更适合你的需求。
三种最常用的可能是:
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
。
以上是 如何在Java中初始化List <String>对象? 的全部内容, 来源链接: utcz.com/qa/435781.html