问题

我想创建一个如下所示的arraylist数组:

ArrayList<Individual>[] group = new ArrayList<Individual>()[4]

但它没有编译。我怎样才能做到这一点?


#1 热门回答(114 赞)

如perOracle Documentation

"你无法创建参数化类型的数组"

相反,你可以这样做:

ArrayList<ArrayList<Individual>> group = new ArrayList<ArrayList<Individual>>(4);

正如汤姆·霍金(Tom Hawting)所说 - 强调,它做得更好:

List<List<Individual>> group = new ArrayList<List<Individual>>(4);

#2 热门回答(69 赞)

正如其他人提到的那样,使用另一个列表存储ArrayList可能更好,但是如果你必须使用数组:

ArrayList<Individual>[] group = (ArrayList<Individual>[])new ArrayList[4];

#3 热门回答(58 赞)

这有效:

ArrayList<String>[] group = new ArrayList[4];

原文链接