为了账号安全,请及时绑定邮箱和手机立即绑定

创建一个数组列表数组

创建一个数组列表数组

森栏 2019-11-25 10:44:52
我想要创建一个arraylist数组,如下所示:ArrayList<Individual>[] group = new ArrayList<Individual>()[4]但是它没有编译。我怎样才能做到这一点?
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

根据Oracle文档:


“您不能创建参数化类型的数组”


相反,您可以执行以下操作:


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

正如Tom Hawting的建议-定位线一样,最好这样做:


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


查看完整回答
反对 回复 2019-11-25
?
狐的传说

TA贡献1804条经验 获得超3个赞

正如其他人所提到的,最好使用另一个列表将ArrayList存储在其中,但是如果必须使用数组,则:


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


查看完整回答
反对 回复 2019-11-25
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

我完全不明白,为什么每个人都在数组中建议泛型类型,尤其是对于这个问题。


如果我需要索引n不同的数组列表该怎么办。


声明后,List<List<Integer>>我需要n ArrayList<Integer>手动创建对象或通过for循环创建n列表或以其他任何方式,以任何方式创建n列表始终是我的职责。


如果我们通过强制转换为声明它不是很好List<Integer>[] = (List<Integer>[]) new List<?>[somenumber]。我认为这是一种不错的设计,其中不必亲自创建所有索引对象(数组列表)


谁能启发我为什么这个(数组形式)设计不好,它有什么缺点?


查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 741 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信