Java 数组copyOf()与实例
java.util.Arrays.copyOf()方法是在java.util.Arrays类中。它复制指定的数组,截断或用false填充(如果需要的话),以便复制出指定的长度。
语法
copyOf(int[] original, int newLength)
Java
- original – 原始数组
- newLength – 原始数组的副本
// Java program to illustrate copyof method
import java.util.Arrays;
public class Main
{
public static void main(String args[])
{
// initializing an array original
int[] org = new int[] {1, 2 ,3};
System.out.println("Original Array");
for (int i = 0; i < org.length; i++)
System.out.print(org[i] + " ");
// copying array org to copy
int[] copy = Arrays.copyOf(org, 5);
// Changing some elements of copy
copy[3] = 11;
copy[4] = 55;
System.out.println("\nNew array copy after modifications:");
for (int i = 0; i < copy.length; i++)
System.out.print(copy[i] + " ");
}
}
Java
输出。
Original Array
1 2 3
New array copy after modifications:
1 2 3 11 55
Java
如果复制的数组长度大于原数组,会发生什么情况?
两个数组中所有在原数组和新数组中有效的指数都会有相同的值。
但是,如果复制的数组长度大于原数组,原数组中缺失的指数在复制中会变成 0 。
// Java program to illustrate copyOf when new array
// is of higher length.
import java.util.Arrays;
public class Main
{
public static void main(String args[])
{
// initializing an array original
int[] org = new int[] {1, 2 ,3};
System.out.println("Original Array : \n");
for (int i = 0; i < org.length; i++)
System.out.print(org[i] + " ");
// copying array org to copy
// Here, new array has 5 elements - two
// elements more than the original array
int[] copy = Arrays.copyOf(org, 5);
System.out.print("\nNew array copy (of higher length):\n");
for (int i = 0; i < copy.length; i++)
System.out.print(copy[i] + " ");
}
}
Java
输出。
Original Array :
1 2 3
New array copy (of higher length):
1 2 3 0 0
Java