Arrays.copyOf 从原数组开头复制指定长度元素,不足补默认值;Arrays.copyOfRange 复制指定区间(左闭右开)的元素,适用于提取子数组。
Arrays.copyOf 和 Arrays.copyOfRange 都是 Java 中用于复制数组的工具方法,定义在 java.util.Arrays 类中,但它们的用途和行为有明显区别。
public static
public static int[] copyOf(int[] original, int newLength)(以 int 为例)
示例:
int[] arr = {1, 2, 3};
int[] newArr = Arrays.copyOf(arr, 5);
// 结果:{1, 2, 3, 0, 0}
说明:
newLength 决定newLength 小于原数组长度,会截断
public static
public static int[] copyOfRange(int[] original, int from, int to)
示例:
int[] arr = {1, 2, 3, 4, 5};
int[] range = Arrays.copyOfRange(arr, 1, 4);
// 结果:{2, 3, 4}(索引 1 到 3)
说明:
from 是起始索引(包含)to 是结束索引(不包含)to - from
to 超出原数组长度,会抛出 ArrayIndexOutOfBoundsException
基本上就这些,根据需求选择合适的方法即可。