//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有什么区别吗

copy函数和 arr1=arr2 *****(为什么用copy方法而不是直接赋值)_数组

arr2=arr1只是让arr2指向和arr1相同的地址,而不是把arr1的数组赋给arr2,但是copyArray 方法不同,copy方法是重新在内存上新建一个数组,长度和第一个数组一致,将第一个数组的每一个数一个个赋值给新建的数组(相同的位置)

引用之前相等(arr2=arr1),地址共享