位置:首页 > Java技术 > Java.util包 > java.util.Arrays.copyOfRange(byte[] original, int from, int to)方法实例

java.util.Arrays.copyOfRange(byte[] original, int from, int to)方法实例

java.util.Arrays.copyOfRange(byte[] original, int from, int to) 方法复制指定的数组到一个新的数组的指定范围。范围(to)的最终索引,它必须大于或等于from,可以大于original.length,在这种情况下(字节)0被放置在的副本的索引大于或等于所有元素到original.length - from。返回的数组的长度将是to - from。

声明

以下是java.util.Arrays.copyOfRange()方法的声明

public static byte[] copyOfRange(byte[] 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.yiibai;

import java.util.Arrays;

public class ArrayDemo {

  public static void main(String[] args) {
    
    // intializing an array arr1
    byte[] arr1 = new byte[] {5, 62, 15};

    // printing the array arr1
    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 from index 1 to 7
    byte[] arr2 = Arrays.copyOfRange(arr1, 1, 7);

    // printing the array arr2
    System.out.println("Printing new array:");
    for (int i = 0; i < arr2.length; i++) {
      System.out.println(arr2[i]);
    }
  }
}

让我们来编译和运行上面的程序,这将产生以下结果:

Printing 1st array:
5
62
15
Printing new array:
62
15
0
0
0
0