Java中的Arrays copyOf()方法及其示例
java.util.Arrays.copyOf()方法在java.util.Arrays类中。它将指定的数组复制,截断或填充false(如果需要),使副本具有指定的长度。
语法:
copyOf(int[] original, int newLength)
- original – 原始数组
- newLength – 原始数组的复制
// Java程序演示copyof方法
import java.util.Arrays;
public class Main
{
public static void main(String args[])
{
// 初始化一个原始数组
int[] org = new int[] {1, 2 ,3};
System.out.println("原始数组");
for (int i = 0; i < org.length; i++)
System.out.print(org[i] + " ");
// 复制数组org到copy
int[] copy = Arrays.copyOf(org, 5);
// 修改copy的一些元素
copy[3] = 11;
copy[4] = 55;
System.out.println("\n修改后的新数组copy:");
for (int i = 0; i < copy.length; i++)
System.out.print(copy[i] + " ");
}
}
输出
原始数组
1 2 3
修改后的新数组copy:
1 2 3 11 55
复制的数组长度大于原始数组会发生什么? 两个数组的所有有效索引都将具有相同的值,如果复制的数组长度大于原始数组,则原始数组中缺少的索引在副本中将具有零。
// Java程序演示copyOf,当新数组长度更高时。
import java.util.Arrays;
public class Main
{
public static void main(String args[])
{
// 初始化一个原始数组
int[] org = new int[] {1, 2 ,3};
System.out.println("原始数组:");
for (int i = 0; i < org.length; i++)
System.out.print(org[i] + " ");
// 复制数组org到copy
// 这里,新的数组有5个元素——比原来的数组多两个元素
int[] copy = Arrays.copyOf(org, 5);
System.out.print("\n新的复制数组(长度更高):\n");
for (int i = 0; i < copy.length; i++)
System.out.print(copy[i] + " ");
}
}
输出
原始数组:
1 2 3
新的复制数组(长度更高):
1 2 3 0 0
极客教程