猿问

创建一个数组列表数组

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


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

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


森栏
浏览 743回答 3
3回答

桃花长相依

根据Oracle文档:“您不能创建参数化类型的数组”相反,您可以执行以下操作:ArrayList<ArrayList<Individual>> group = new ArrayList<ArrayList<Individual>>(4);正如Tom Hawting的建议-定位线一样,最好这样做:List<List<Individual>> group = new ArrayList<List<Individual>>(4);

狐的传说

正如其他人所提到的,最好使用另一个列表将ArrayList存储在其中,但是如果必须使用数组,则:ArrayList<Individual>[] group = (ArrayList<Individual>[])new ArrayList[4];

至尊宝的传说

我完全不明白,为什么每个人都在数组中建议泛型类型,尤其是对于这个问题。如果我需要索引n不同的数组列表该怎么办。声明后,List<List<Integer>>我需要n ArrayList<Integer>手动创建对象或通过for循环创建n列表或以其他任何方式,以任何方式创建n列表始终是我的职责。如果我们通过强制转换为声明它不是很好List<Integer>[] = (List<Integer>[]) new List<?>[somenumber]。我认为这是一种不错的设计,其中不必亲自创建所有索引对象(数组列表)谁能启发我为什么这个(数组形式)设计不好,它有什么缺点?
随时随地看视频慕课网APP

相关分类

Java
我要回答