0
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> out = new ArrayList<Integer>();
for(int i =1;i<=2;i++) {
out.add(i);
result.add(out);
}
System.out.println(result.toString());
}
为什么是输出: [[1,2],[1,2]]当它应该是[[1],[1,2] ]添加更新的ArrayList到数组列表的ArrayList代替以前的值
您并未创建'out'副本。你只需修改同一个对象。 –
这是OOP背后的核心理念。您只需添加两个_references_同一个列表。 – Mordechai
那么你如何实现[[1],[1,2]]的输出呢? – tushR