Rx.min.js
为什么输出: [[1,2],[1,2]]应该是[[1],[1,2]]
答案 0 :(得分:0)
由于您正在修改out的相同引用,因此它会在任何地方反映出来。为了冻结特定点的列表,您需要创建它的克隆并添加该新列表。
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);
ArrayList<Integer> freeze = new ArrayList<Integer>(out);
result.add(freeze);
}
System.out.println(result.toString());
}