Java 中复制数组的方法:浅复制:直接赋值:创建原始数组的引用,修改一个数组会影响另一个数组。System.arraycopy() 方法:从源数组复制指定范围到目标数组。深复制:Arrays.copyOf() 方法:创建新数组并复制指定范围。Arrays.copyOfRange() 方法:指定复制范围外的复制。手动复制:逐个元素地复制到新数组中。

Java 中复制数组的方法
浅复制
- 直接赋值:将一个数组直接赋值给另一个数组,例如
arr2 = arr1;。这会创建对原始数组的引用,对一个数组的修改将反映在另一个数组上。 - 使用
System.arraycopy()方法:此方法从源数组中复制指定范围(包含起点和终点)的元素到目标数组中,例如:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = new int[5];
System.arraycopy(arr1, 0, arr2, 0, arr1.length);深复制
深复制会创建一个新数组,并复制原始数组中所有元素的值,而不仅仅是引用。有以下方法可以实现深复制:
立即学习“Java免费学习笔记(深入)”;
- 使用
Arrays.copyOf()方法:此方法创建一个新数组并复制指定范围内(包含起点和终点)的元素,例如:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, arr1.length);- 使用
Arrays.copyOfRange()方法:此方法与Arrays.copyOf()方法类似,但允许指定起点和终点范围外的复制,例如:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOfRange(arr1, 1, 3);- 手动复制:遍历原始数组,逐个元素地复制到新数组中,例如:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = new int[arr1.length];
for (int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}











