java.util.Arrays.copyOfRange()方法用于将指定数组的指定范围复制到新的数组中大批。范围(from)的初始索引必须位于零和original.length之间(含)。范围 (to) 的最终索引必须大于或等于 from,可能大于original.length,在这种情况下 (byte)0 被放置在索引大于或等于副本的所有元素中到原始长度 - 从。返回数组的长度为 to - from。
语法
public static byte[] copyOfRange(byte[] original, int from, int to)
参数
original | 指定要从中复制范围的数组。 |
from | 指定要复制的范围的初始索引(含)。 |
to | 指定要复制的范围的最终索引, 独家的。 |
返回值
从原始数组中返回一个包含指定范围的新数组,并截断或用零填充以获得所需的值length。
异常
- 抛出 ArrayIndexOutOfBoundsException,如果来自 < 0 或 > Original.length。
- 抛出 IllegalArgumentException,如果从 > 到。
- 抛出 NullPointerException,如果原始值为 null。
示例:
在下面的示例中,java.util.Arrays.copyOfRange() 方法返回一个新数组,其中包含原始数组中的指定范围、截断或填充零以获得所需的长度。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
//创建字节数组
byte Arr1[] = {10, 5, 25};
//将Arr1从索引1到5复制到Arr2
byte Arr2[] = Arrays.copyOfRange(Arr1, 1, 5);
//打印Arr1
System.out.print("Arr1 contains:");
for(byte i: Arr1)
System.out.print(" " + i);
//打印Arr2
System.out.print("\nArr2 contains:");
for(byte i: Arr2)
System.out.print(" " + i);
}
}
上述代码的输出将是:
Arr1 contains: 10 5 25
Arr2 contains: 5 25 0 0