我有名为sub和main的arraylist,
ArrayList main = new ArrayList();
ArrayList sub=new ArrayList();
我将值添加到sub,然后将sub添加到main。
例子;
sub.add(1);
sub.add(2);
main.add(sub);
现在我想让子里面的所有值
so i used following one but .get(j) gives me the error get >> canot find symbol
for (int i=0;i<main.size();i++) {
System.out.println();
for (int j=0;j<sub().size();j++) {
System.out.print(main.get(i).get(j));//error line
}
}
我如何获取主arraylist的子数组内的所有值
当您将变量声明为
ArrayList main;
此列表包含Object
s。这意味着即使您加上,main.get(i)
也只会传回。这就是为什么您会收到编译器错误的原因:没有名为的方法。Object
ArrayList
Object
get()
要解决此问题,您需要使用泛型:
ArrayList<List<Integer>> main = new ArrayList<>();
ArrayList<Integer> sub=new ArrayList<>();
现在get()
将返回List<Integer>
具有get()
方法的,因此编译器错误将消失。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句