我不能在以下代码中初始化一个列表:
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> supplierNames = new List<String>();
supplierNames.add("sup1");
supplierNames.add("sup2");
supplierNames.add("sup3");
System.out.println(supplierNames.get(1));
我面临以下错误:
不能实例化List<String>类型
我如何实例化列表<字符串>?
当前回答
而不是:
List<String> supplierNames = new List<String>();
如果你正在使用最新的JDK,请这样写:
List<String> supplierNames = new ArrayList<>();
这是初始化List的正确方法。
其他回答
如果你只想创建一个只有一个对象的不可变List<T>,你可以使用这个API:
List<String> oneObjectList = Collections.singletonList("theOnlyObject”);
更多信息:文档
你需要使用ArrayList<String>之类的。
List<String>是接口。
用这个:
import java.util.ArrayList;
...
List<String> supplierNames = new ArrayList<String>();
而不是:
List<String> supplierNames = new List<String>();
如果你正在使用最新的JDK,请这样写:
List<String> supplierNames = new ArrayList<>();
这是初始化List的正确方法。
List是接口,不能初始化接口。应该实例化一个实现类。
如:
List<String> abc = new ArrayList<String>();
List<String> xyz = new LinkedList<String>();
List是一个接口,你不能实例化一个接口,因为接口是一个约定,什么方法应该有你的类。为了实例化,您需要该接口的一些实现(实现)。尝试下面的代码与非常流行的List接口实现:
List<String> supplierNames = new ArrayList<String>();
or
List<String> supplierNames = new LinkedList<String>();