为什么我不能创建泛型类的泛型数组列表成员?



我想添加方法来返回列表或特定元素,我希望它适用于任何泛型类。为什么Java不允许这样做?

class ArrayListBuilder<E>{
private ArrayList<E> a_list=new ArrayList<>();
}

我试图编译你的代码,但得到了这些错误

ArrayListBuilder.java:2: error: cannot find symbol
private ArrayList<E> a_list=new ArrayList<>();
^
symbol:   class ArrayList
location: class ArrayListBuilder<E>
where E is a type-variable:
E extends Object declared in class ArrayListBuilder
ArrayListBuilder.java:2: error: cannot find symbol
private ArrayList<E> a_list=new ArrayList<>();
^
symbol:   class ArrayList
location: class ArrayListBuilder<E>
where E is a type-variable:
E extends Object declared in class ArrayListBuilder
2 errors

如您所见,实际上有两个错误,第一个错误意味着您需要导入java.util.ArrayList。一旦你这样做了,你的代码就可以很好地编译了。所以把你的代码的第一行

import java.util.ArrayList;

TL;DR:您问题的解决方案是阅读所有错误消息。不仅仅是最后一个。

最新更新