Java.util.Arrays 类

java.util.Arrays.copyOf()方法用于复制指定数组,截断或用零填充(如果需要),以便副本具有指定的长度。对于在原始数组和副本中均有效的所有索引,这两个数组将包含相同的值。对于在副本中有效但在原始数组中无效的任何索引,副本将包含 0。当且仅当指定的长度大于原始数组的长度时,此类索引才会存在。

语法

public static int[] copyOf(int[] original, int newLength)

参数

原始 指定要复制的数组
newLength 指定要返回的副本的长度。

返回值

返回原始数组的副本,截断或用零填充以获得指定的长度。

异常

  • 抛出 NegativeArraySizeException(如果 newLength 为负数)。
  • 抛出 NullPointerException(如果原始值为 null)。

示例:

在下面的示例中,java.util.Arrays.copyOf() 方法返回给定数组的副本,该副本被截断或用零填充以获得指定的长度。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建一个int数组
    int Arr1[] = {10, 5, 25};

    //将Arr1复制到Arr2中,长度为5
    int Arr2[] = Arrays.copyOf(Arr1, 5);

    //打印Arr1
    System.out.print("Arr1 contains:"); 
    for(int i: Arr1)
      System.out.print(" " + i);
      
    //打印Arr2
    System.out.print("\nArr2 contains:"); 
    for(int i: Arr2)
      System.out.print(" " + i);  
  }
}

上述代码的输出将是:

Arr1 contains: 10 5 25
Arr2 contains: 10 5 25 0 0