所以我得到了这段代码:
List chunks = new ArrayList<ArrayList<Block>>(1);
我需要得到一个内部ArrayList的孩子。
答案 0 :(得分:7)
首先修复声明部分
List<List<Block>> chunks = new ArrayList<ArrayList<Block>>(1);
如果您使用的是Java 7,甚至会更好
List<List<Block>> chunks = new ArrayList<>(1);
然后
chunks.get(0).get(0);
假设您已经在其中添加了元素,它将为您提供内部元素Block
。
如果在该地方没有添加任何元素,您将遇到异常。
答案 1 :(得分:4)
List<List<Block>> chunks = new ArrayList<ArrayList<Block>>(1);
创建一个空ArrayList
,因此您无法get
任何内容。
请注意,我更改了chunks
的类型。如果您使用原始类型(即List
),chunks.get()
将返回Object
类型的实例,并且您必须(不安全地)将其投射到List<Block>
为了从内部List
获取元素。
首先你需要添加一些东西:
chunks.add (new ArrayList<Block>());
然后,您可以将内部ArrayList
和add
元素添加到其中:
chunks.get(0).add (new Block());
然后你可以通过以下方式获得内部元素:
Block b = chunks.get(0).get(0);