Java 中复制数组的方法有 System.arraycopy()、Arrays.copyOf()、Arrays.copyOfRange() 和手动循环复制。System.arraycopy() 速度最快,Arrays.copyOf() 最简单,手动循环复制最通用。对于浅拷贝,所有方法都适用,而对于深拷贝,仅 Arrays.copyOf() 和 Arrays.copyOfRange() 可用。

Java 数组复制方法
Java 中复制数组的方法有以下几种:
1. 使用 System.arraycopy() 方法
System.arraycopy(src, srcPos, dest, destPos, length);
-
src:源数组 -
srcPos:源数组的起始索引(包括) -
dest:目标数组 -
destPos:目标数组的起始索引(包括) -
length:要复制的元素数量
2. 使用 Arrays.copyOf() 方法
立即学习“Java免费学习笔记(深入)”;
Arrays.copyOf(src, length);
-
src:源数组 -
length:新数组的长度
3. 使用 Arrays.copyOfRange() 方法
Arrays.copyOfRange(src, from, to);
-
src:源数组 -
from:起始索引(包括) -
to:结束索引(不包括)
4. 手动循环复制
这种方法不需要使用任何内置方法,而是手动遍历数组并逐个元素复制。
for (int i = 0; i < src.length; i++) {
dest[i] = src[i];
}哪种方法好?
对于浅拷贝,这四种方法都可以使用。但是,对于深拷贝,仅 Arrays#copyOf() 和 Arrays#copyOfRange() 可以实现。
一般来说,使用 System.arraycopy() 方法速度最快,使用 Arrays#copyOf() 方法最简单,而手动循环复制方法最通用。
根据你的具体需求选择合适的方法。











