我首先克隆了一維原始數組(它將保存包裝),然後更改克隆數組的第一個值。但是原始數組的第一個值沒有改變。然後我克隆了一個二維數組,並做了同樣的操作(改變了數組[0] [0]值)。其值爲originalArray [0] [0]也被改變了。爲什麼發生這種情況。這是由於淺拷貝和深拷貝?當克隆一維數組和二維數組時,發生了什麼不同
我的一維數組例如
int[] arr=new int[2];
arr[0]=1;
arr[1]=2;
int[]arrnew=arr.clone();
System.out.println(arr[0]);
System.out.println(arrnew[0]);
arr[0]=5;
System.out.println(arr[0]);
System.out.println(arrnew[0]);
我的二維數組例如
int[][] arr=new int[2][2];
arr[0][0]=1;
arr[0][1]=2;
arr[1][0]=3;
arr[1][1]=4;
int[][] arrnew=arr.clone();
System.out.println(arr[1][0]);
System.out.println(arrnew[1][0]);
arr[1][0]=5;
System.out.println(arr[1][0]);
System.out.println(arrnew[1][0]);
原因已經解釋MAV一維數組的情況下, –