我无法像下面的代码那样初始化列表:
List<String> supplierNames = new List<String>();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));
我遇到以下错误:
Cannot instantiate the type
List<String>
如何实例化 List<String>
?
最佳答案
如果您查看 API对于 List
你会注意到它说:
Interface List<E>
作为 interface
意味着它不能被实例化(不可能有 new List()
)。
如果您检查该链接,您会发现一些实现 List
的 class
es:
All Known Implementing Classes:
AbstractList
,AbstractSequentialList
,ArrayList
,AttributeList
,CopyOnWriteArrayList
,LinkedList
,RoleList
,RoleUnresolvedList
,Stack
,Vector
其中一些可以被实例化(那些没有被定义为抽象类
)。使用他们的链接了解更多关于他们的信息,即:了解哪个更适合您的需求。
最常用的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
。
关于java - 如何在 Java 中初始化 List<String> 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13395114/