Java Arrays copyOf() 方法



描述

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

声明

以下是java.util.Arrays.copyOf(double[] original,int newLength) 方法的声明

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

参数

  • original − 这是要复制的数组。

  • newLength − 这是要返回的副本的长度。

返回值

此方法返回原始数组的副本,已截断或填充了 false 元素以获得指定的长度。

异常

  • NegativeArraySizeException − 如果 newLength 为负。

  • NullPointerException − 如果 original 为空。

将双精度数数组复制到大小相同的数组示例

以下示例演示了 Java Arrays copyOf() 方法的用法。首先,我们创建了一个双精度数数组。我们打印了它们。使用 copyOf() 方法创建了相同大小的数组副本并打印出来。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      double[] doubleArr = { 10.0, 20.0, 30.0, 13.0 };

      System.out.print("Double Array: [");
      for (int i = 0; i < doubleArr.length; i++) {
         System.out.print(doubleArr[i] + " ");
      }

      System.out.print("]\nCopied Array: \n");

      // Create copy of the array of same size
      double[] doubleArrCopy = Arrays.copyOf(doubleArr, doubleArr.length);
     
      System.out.print("Double Array: [");
      for (int i = 0; i < doubleArrCopy.length; i++) {
         System.out.print(doubleArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Double Array: [10.0, 20.0, 30.0, 13.0 ]
Copied Array: 
Double Array: [10.0, 20.0, 30.0, 13.0 ]

将双精度数数组复制到更大尺寸的数组示例

以下示例演示了 Java Arrays copyOf() 方法的用法。首先,我们创建了一个双精度数数组。我们打印了它们。使用 copyOf() 方法创建了更大尺寸的数组副本,并打印出附加的默认值。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      double[] doubleArr = { 10.0, 20.0, 30.0, 13.0 };
      System.out.print("Double Array: [");
      for (int i = 0; i < doubleArr.length; i++) {
         System.out.print(doubleArr[i] + " ");
      }
      System.out.print("]\nCopied Arrays: \n");

      // Create copy of the array of greater size
      double[] doubleArrCopy = Arrays.copyOf(doubleArr, doubleArr.length + 1);

      System.out.print("Double Array: [");
      for (int i = 0; i < doubleArrCopy.length; i++) {
         System.out.print(doubleArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Double Array: [10.0, 20.0, 30.0, 13.0 ]
Copied Array: 
Double Array: [10.0, 20.0, 30.0, 13.0 0.0]

将双精度数数组复制到更小尺寸的数组示例

以下示例演示了 Java Arrays copyOf() 方法的用法。首先,我们创建了一个双精度数数组。我们打印了它们。使用 copyOf() 方法创建了更小尺寸的数组副本,并打印出来。

package com.tutorialspoint;

import java.util.Arrays;

public class ArrayDemo {
   public static void main(String[] args) {

      double[] doubleArr = { 10.0, 20.0, 30.0, 13.0 };

      System.out.print("Double Array: [");
      for (int i = 0; i < doubleArr.length; i++) {
         System.out.print(doubleArr[i] + " ");
      }
      System.out.print("]\nCopied Arrays: \n");

      // Create copy of the array of lesser size
      double[] doubleArrCopy = Arrays.copyOf(doubleArr, doubleArr.length - 1);

      System.out.print("Double Array: [");
      for (int i = 0; i < doubleArrCopy.length; i++) {
         System.out.print(doubleArrCopy[i] + " ");
      }
      System.out.print("]");
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Double Array: [10.0, 20.0, 30.0, 13.0 ]
Copied Array: 
Double Array: [10.0, 20.0, 30.0 ]
java_util_arrays.htm
广告