作为一个基本的例子
int[] B;
B=new int[4];
B[0]=4;
B[1]=3;
B[2]=2;
B[3]=1;
ArrayList<int[]> C = new ArrayList<int[]>();
C.add(B);
B[0]=3;
B[1]=2;
B[2]=4;
B[3]=1;
C.add(B);
我有一个添加到列表中的基本数组,我在循环中更改数组B的值,我想将循环中的每个新B添加到C中,但是C自动与B同步,这阻止了我添加一个新的B。我需要添加一个新的B的原因是为了跟踪循环的进度并防止重复。
当前C与新B的大小始终为1。
而是保存数组的副本:
C.add(Arrays.copyOf(B, B.length)); //or System#arraycopy
Java是按引用传递值的,因此数组是按引用传递的,因此不会复制自身。
您应该尝试遵循通用的样式指南(例如Oracle / Google变量命名约定)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句