[英]Type Cannot create a generic array of List<FooClass>
假设我有FooClass类。
public class FooClass {
}
以下行给出了以下编译错误:
// Note I want to create an array of length 4 of Lists of FooClass
List<FooClass> runs[]=new List<FooClass>[4];
Cannot create a generic array of List<FooClass> ...
非常感谢任何帮助。
// if you want create a List of FooClass (you can use any List implementation)
List<FooClass> runs = new ArrayList<FooClass>();
// if you want create array of FooClass
FooClass[] runs = new FooClass[4];
UPD:
如果要创建列表数组,则应该:
例:
List<FooClass>[] runs = new List[4];
for (int i = 0; i < runs.length; i++) {
runs[i] = new ArrayList<>();
}
将Generics和Array混合起来并不是一个好主意。 泛型在运行时不保留类型信息,因此创建一系列泛型失败。
List不应该声明为数组。 它应该是:
List<FooClass> runs=new ArrayList<FooClass>(4);
要么
List<FooClass> runs=new ArrayList<FooClass>();
编辑 :您可以尝试List<ConfigParser> runs[] = new List[4];
。 但为什么你需要一系列的列表?
同样如@ rai.skumar所提到的,由于类型擦除,在运行时不保留通用信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.