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