Arrays.copyOf()是Java中Arrays类中的一个静态方法,可以复制一维数组。该方法有两个重载版本,一个是复制整个数组,另一个是复制数组的一部分。语法如下:
public static <T> T[] copyOf(T[] original, int newLength)
这个方法可以复制一维数组,而不能复制二维数组,如果要复制二维数组,需要用循环遍历二维数组,并使用Arrays.copyOf()复制一维数组.
int[][] original = {
{1,2,3},{4,5,6}};
int[][] copy = new int[original.length][];
for (int i = 0; i < original.length; i++) {
copy[i] = Arrays.copyOf(original[i], original[i].length);
}
如果你是使用java8或者更高版本,你可以使用Streams API来复制二维数组
int[][] copy = Arrays.stream(original)
.map(int[]::clone)
.toArray(int[][]::new);
请注意,在上述示例中,我们使用了深复制来复制二维数组,因此更改原始数组不会影响复制的数组,反之亦然。