我不能在以下代码中初始化一个列表:

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

我面临以下错误:

不能实例化List<String>类型

我如何实例化列表<字符串>?


当前回答

List是一个接口,你不能实例化一个接口,因为接口是一个约定,什么方法应该有你的类。为了实例化,您需要该接口的一些实现(实现)。尝试下面的代码与非常流行的List接口实现:

List<String> supplierNames = new ArrayList<String>(); 

or

List<String> supplierNames = new LinkedList<String>();

其他回答

你需要使用ArrayList<String>之类的。

List<String>是接口。

用这个:

import java.util.ArrayList;

...

List<String> supplierNames = new ArrayList<String>();

List是接口,不能初始化接口。应该实例化一个实现类。

如:

List<String> abc = new ArrayList<String>();
List<String> xyz = new LinkedList<String>();

List只是一个接口,一个通用列表的定义。您需要提供这个列表接口的实现。最常见的两种是:

数组列表——在数组上实现的列表

List<String> supplierNames = new ArrayList<String>();

LinkedList -一个像相互连接的元素链一样实现的列表

List<String> supplierNames = new LinkedList<String>();

List是一个接口。你不能使用List来初始化它。

  List<String> supplierNames = new ArrayList<String>();

这些是List实现的类,

ArrayList, LinkedList, Vector

你可以根据你的需要使用任何一个。这些每一类都有自己的特点。

List是一个接口,你不能实例化一个接口,因为接口是一个约定,什么方法应该有你的类。为了实例化,您需要该接口的一些实现(实现)。尝试下面的代码与非常流行的List接口实现:

List<String> supplierNames = new ArrayList<String>(); 

or

List<String> supplierNames = new LinkedList<String>();