这个问题是因为数据从数组1拷贝到数组2后,数组2储存的是数组1里面的数据的地址,所以当数组2改变后数组1会发生同步更改 下面我写了个例子 自己看看吧- public class ArrayCopy {
- public static void main(String[] args) {
-
- int[][] array1 = {{2,3},{5,6,8},{12,0,4}};
- int[][] array2 = new int[3][];
- System.arraycopy(array1,0,array2,0,array1.length);
- array2[2][1] = 100;//改变数组元素值
- //遍历打印array2元素
- for(int i=0;i<array2.length;i++){
- for(int j=0;j<array2[i].length;j++)
- System.out.print(array2[i][j]+" ");
- System.out.println("");
- }
- //遍历打印array1元素
- for(int i=0;i<array1.length;i++){
- for(int j=0;j<array2[i].length;j++)
- System.out.print(array1[i][j]+" ");
- System.out.println("");
- }
-
- }
- }
复制代码 希望能帮到你 |