Java 中复制数组的方法有四种:System.arraycopy()、Arrays.copyOf()、Arrays.copyOfRange() 和 clone()。System.arraycopy() 指定源数组、源起始位置、目标数组、目标起始位置和复制长度。Arrays.copyOf() 指定要复制的数组和复制后的数组长度。Arrays.copyOfRange() 指定要复制的数组、复制起始位置和复制结束位置。clone() 方法仅适用于基本类型数组,通过复制创建相同的数组副本。

Java 复制数组的方法
在 Java 中,复制数组有以下方法:
1. 使用 System.arraycopy() 方法
System.arraycopy(src, srcPos, dest, destPos, length);
其中:
立即学习“Java免费学习笔记(深入)”;
-
src:源数组 -
srcPos:源数组的起始复制位置 -
dest:目标数组 -
destPos:目标数组的起始复制位置 -
length:要复制的元素数量
示例:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = new int[5];
System.arraycopy(arr1, 0, arr2, 0, 5);
// arr2 现在包含 [1, 2, 3, 4, 5]2. 使用 Arrays.copyOf() 方法
Arrays.copyOf(arr, newLength);
其中:
立即学习“Java免费学习笔记(深入)”;
-
arr:要复制的数组 -
newLength:复制后的数组的长度
示例:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, 3);
// arr2 现在包含 [1, 2, 3]3. 使用 Arrays.copyOfRange() 方法
Arrays.copyOfRange(arr, from, to);
其中:
立即学习“Java免费学习笔记(深入)”;
-
arr:要复制的数组 -
from:起始复制位置(包含) -
to:结束复制位置(不包含)
示例:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOfRange(arr1, 1, 4);
// arr2 现在包含 [2, 3, 4]4. 使用 clone() 方法(适用于基本类型数组)
对于基本类型数组(如 int[]、float[]),可以使用 clone() 方法进行复制。
示例:
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = arr1.clone();
// arr2 现在包含 [1, 2, 3, 4, 5]











