我无法按以下代码初始化列表:
列表<;字符串>;供应商名称=新列表<;字符串>;();
供应商名称。添加(“sup1”);
供应商名称。添加(“sup2”);
供应商名称。添加(“sup3”);
System.out.println(supplierNames.get(1));
我面临以下错误:
无法实例化类型
列表<;字符串>
如何实例化List<;字符串>
如果您检查API对于List您会注意到它说:
接口列表<;E>;
作为一个接口意味着它不能被实例化(不可能有newlist())
如果您检查该链接,您将发现一些实现了列表的类e:
所有已知的实现类:
AbstractList,AbstractSequentialList,ArrayList,AttributeList,CopyOnWriteArrayList,LinkedList,RoleUnresolvedList,堆栈,Vector
这些可以实例化。使用他们的链接了解更多关于他们的信息,例如:知道哪一个更适合你的需要
最常用的三种可能是:
列表<;字符串>;供应商名称1=新阵列列表<;字符串>;();
列表<;字符串>;供应商名称2=新链接列表<;字符串>;();
列表<;字符串>;供应商名称3=新向量<;字符串>;();
奖金:
您还可以使用数组类以更简单的方式使用值对其进行实例化,如下所示:
列表<;字符串>;supplierNames=Arrays.asList(“sup1”、“sup2”、“sup3”);
System.out.println(supplierNames.get(1));
但请注意,不允许向该列表添加更多元素,因为它的大小是固定的