我在课程中有以下列表
List<XYZ> Algo1;
List<XYZ> Algo2;
List<XYZ> Algo3;
我想要的是用这些列表创建一个数组,尝试这样做:
List<XYZ> Algos[] = {Algo1,Algo2,Algo2};
我希望能够像这样初始化它,但是我得到一个错误,想法是能够通过for而不是单独调用
for(int i=0;i<Algos.length;i++){
Algos[i].add(new XYZ(...));
}
有点像这样的想法?
答案 0 :(得分:3)
You cannot create arrays of parameterised types.
请参阅链接了解原因。
无论如何,替代方法是创建List<List<XYZ>>
:
List<List<XYZ>> algoList = Arrays.asList(algo1, algo2, algo3);
顺便说一下,记得在将它们放入列表之前正确初始化algo 1-3!否则你将把空值放入列表中!
如果您要添加/删除algoList
中的内容,则需要ArrayList<List<Algo>>
:
ArrayList<List<XYZ>> algoList = new ArrayList<>(Arrays.asList(algo1, algo2, algo3));