📅  最后修改于: 2023-12-03 15:16:33.203000             🧑  作者: Mango
Java中提供了多种复制数组的方法,本文将介绍其中的几种方法。
public static <T> T[] copyOf(T[] original, int newLength)
该方法将原始数组original
复制到一个新数组中,并将新数组的长度设为newLength
。如果新数组的长度大于原始数组的长度,则会在新数组的末尾填充默认值。如果新数组的长度小于原始数组的长度,则会截断原始数组中多余的元素。
下面的示例展示了如何使用Array.copyOf()
方法将原始数组复制到一个新数组中。
int[] original = { 1, 2, 3 };
int[] copy = Arrays.copyOf(original, 5);
在上面的示例中,我们将原始数组original
复制到一个新的数组中,新数组的长度为5。由于原始数组包含3个元素,因此复制后的新数组中填充了2个默认值。
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
该方法将源数组src
中的元素复制到目标数组dest
中。srcPos
参数指定从源数组的哪个下标开始复制,destPos
参数指定从目标数组的哪个下标开始插入元素,length
参数指定要复制的元素数量。
下面的示例展示了如何使用System.arraycopy()
方法将原始数组复制到一个新数组中。
int[] original = { 1, 2, 3 };
int[] copy = new int[5];
System.arraycopy(original, 0, copy, 0, original.length);
在上面的示例中,我们将原始数组original
复制到一个新的数组中,新数组的长度为5。由于原始数组包含3个元素,因此我们需要复制3个元素,因此我们指定了length
参数为3。
public static <T> T[] copyOfRange(T[] original, int from, int to)
该方法将原始数组original
中从from
下标位置开始至to
下标位置处的元素复制到一个新数组中。
下面的示例展示了如何使用Arrays.copyOfRange()
方法将原始数组复制到一个新数组中。
int[] original = { 1, 2, 3, 4, 5 };
int[] copy = Arrays.copyOfRange(original, 1, 4);
在上面的示例中,我们将原始数组original
中从下标为1的元素开始至下标为4的元素处(不包含下标为4的元素),复制到一个新的数组中。