如果我宣布这样的话:
List<Object> list = new ArrayList<Object>();
list.add(new ArrayList<String>());
list.get(0).get(1);//error
现在我有“列表中的列表”,我想进入第一个列表的内部列表的第二个元素。我怎样才能做到这一点?这不起作用:
list.get(0).get(1);//error
答案 0 :(得分:1)
您需要将返回的对象从list
转换为ArrayList
,因为您使用Object
类型&gt;声明了列表List<Object>
因此,请尝试将代码更改为:
((ArrayList<String>) list.get(0)).get(1);
或者更改列表的声明,如:
List<List<String>> list = new ArrayList<List<String>>();
然后你的代码应该可以正常工作。
答案 1 :(得分:1)
为什么不正确宣布?
List<List<String>> list = new ArrayList<List<String>>();
list.add(new ArrayList<String>());
即。您将此声明为列表列表,编译器知道list.get(0)
将为您提供列表。