Java.util.Arrays.copyOfRange() 方法
描述
java.util.Arrays.copyOfRange(T[] original, int from, int to) 方法将指定数组的指定范围复制到一个新数组中。 范围 (from) 的初始索引必须介于零和 original.length 之间,包括两者。 original[from] 的值被放入副本的初始元素中(除非 from == original.length 或 from == to)。 原始数组中后续元素的值被放入副本中的后续元素中。
范围(to)的最终索引,必须大于或等于 from,可能大于 original.length,在这种情况下,null 放置在索引大于或等于 original 的副本的所有元素中。 长度 - 从。 返回数组的长度将是 to - from。
声明
以下是 java.util.Arrays.copyOfRange() 方法的声明
public static <T> T[] copyOfRange(T[] original, int from, int to)
参数
original − 这是要从中复制范围的数组。
from − 这是要复制的范围的初始索引,包括在内。
to − 这是要复制的范围的最终索引,不包括在内。
返回值
此方法从原始数组返回一个包含指定范围的新数组,该数组被截断或用零填充以获得所需的长度。
异常
ArrayIndexOutOfBoundsException − 如果 from < 0 或 from > original.length()
IllegalArgumentException − 如果 from > to
NullPointerException − 如果 original 为 null。
示例
下面的例子展示了 java.util.Arrays.copyOfRange() 方法的使用。
package com.tutorialspoint;
import java.util.Arrays;
public class ArrayDemo {
public static void main(String[] args) {
// intializing an array arr1
short[] arr1 = new short[]{15, 10, 45};
// printing the array
System.out.println("Printing 1st array:");
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
// copying array arr1 to arr2 with range of index from 1 to 3
Object arr2 = Arrays.copyOfRange(arr1, 1, 3);
// cast arr2 as short in order to be printable
short[] arr3 = (short[]) arr2;
// printing the array arr2
System.out.println("Printing new array:");
for (int i = 0; i < arr3.length; i++) {
System.out.println(arr3[i]);
}
}
}
让我们编译并运行上面的程序,这将产生以下结果 −
Printing 1st array: 15 10 45 Printing new array: 10 45

