我似乎无法理解此声明中出现的问题
public static List<Vertex> vertices;
// where Vertex is a class with a default constructor
public static void main ( String [] arg ) throws IOException {
vertices = new List<Vertex>(); // eclipse complains
}
我应该在哪里以及如何初始化此列表..... 由于这个,当我继续添加列表时,它抱怨空指针异常.....任何人都可以告诉我我做错了什么....
答案 0 :(得分:4)
List是一种抽象类型,由各种类型的列表扩展和实现。 请尝试以下方法:
public static void main ( String [] arg ) throws IOException {
vertices = new ArrayList<Vertex>();
}
答案 1 :(得分:1)
列表是一个界面,无法进行即时处理。改为使用ArrayList或LinkedList。
vertices = new ArrayList<Vertex>();
答案 2 :(得分:0)
List是一个接口。您需要使用实现List的类,例如ArrayList。
答案 3 :(得分:0)
尝试:
vertices = new ArrayList<Vertex>();
List
是Java中的一个接口,因此您需要使用其中一个实现。
http://download.oracle.com/javase/6/docs/api/java/util/List.html
答案 4 :(得分:0)
List
不是类,而是接口。由于接口不是任何事物的完整具体实现,因此可以实例化。你只能做新的不抽象类。因此,尝试实例化ArrayList
或其他实现。
答案 5 :(得分:0)
您需要使用List的实现,例如:
vertices = new ArrayList<Vertex>();
答案 6 :(得分:0)
Eclipse抱怨因为List无法实例化,因为它是一个接口,而不是一个具体的类。
你有2个选择 -
的选项1:强>
public static List<Vertex> vertices;
// where Vertex is a class with a default constructor
public static void main ( String [] arg ) throws IOException {
vertices = new ArrayList<Vertex>(); // eclipse does not complain
}
<强>选项2:强>
public static List<Vertex> vertices=new ArrayList<Vertex>();
// where Vertex is a class with a default constructor
public static void main ( String [] arg ) throws IOException {
v
}