📜  Java中的Java .util.Arrays.copyOfRange()(1)

📅  最后修改于: 2023-12-03 15:01:59.434000             🧑  作者: Mango

Java 中的 Java.util.Arrays.copyOfRange()

在 Java 中,使用 Arrays.copyOfRange() 方法可以从原始数组中复制指定范围的子数组到一个新的数组中。这个方法的语法如下:

public static int[] copyOfRange(int[] original, int from, int to)

其中:

  • original:原始数组,也就是需要复制的数组。
  • from:指定需要复制的起始位置(下标从零开始,包括在复制范围内)。
  • to:指定需要复制的结束位置(下标从零开始,不包括在复制范围内)。

这个方法是一个静态方法,可以直接通过 Arrays.copyOfRange() 调用。复制出来的子数组是一个新数组,原始数组不会受到影响。

下面是一个示例代码:

int[] originalArray = {1, 2, 3, 4, 5};
int[] newArray = Arrays.copyOfRange(originalArray, 2, 4);
System.out.println(Arrays.toString(newArray));

这个示例会输出 [3, 4],也就是原始数组从下标 2(包括)到下标 4(不包括)的子数组。

注意事项
  • to 参数必须大于等于 from 参数,否则会抛出 IllegalArgumentException 异常。
  • 如果 fromto 参数超出了原始数组的范围,会抛出 ArrayIndexOutOfBoundsException 异常。
  • 如果原始数组的元素类型为对象而不是基本类型,则会返回一个新的与原始数组相同类型的对象数组,其中包含指定范围的元素的引用。
  • 如果原始数组为 null,则会抛出 NullPointerException 异常。
总结

Java 的 Arrays.copyOfRange() 可以非常方便地从原始数组中复制指定范围的子数组到一个新的数组中,是一个常用的数组操作方法。在使用时要注意参数的范围和正确处理可能抛出的异常。