//TODO 备份数组 public static int[] copyArray(int[] arr) { int[] ans = new int[arr.length]; for (int i = 0; i < arr.length; i++) { ans[i] = arr[i]; } return ans; }
都是备份数据,copyArray 方法和 arr2=arr1有什么区别吗arr2=arr1只是让arr2指向和arr1相同的地址,而不是把arr1的数组赋给arr2,但是copyArray 方法不同,copy方法是重新在内存上新建一个数组,长度和第一个数组一致,将第一个数组的每一个数一个个赋值给新建的数组(相同的位置)
引用之前相等(arr2=arr1),地址共享