该方法传回的数组是新的数组对象,改变传回数组中的元素值,不会影响原来的数组,其中第一个变量表示原来的数组对象,第二个变量表示新的数组的长度,如果新的数组的长度超过原来的数组的长度,保留数组元素的默认基本类型的值。

方法描述
copyOf(boolean[] original,int newLength)复制指定的数组,截断或填充false(如有必要),使副本具有指定的长度
copyOf(byte[] original,int newLength)复制指定的数组,截断或填充0(如有必要),使副本具有指定的长度
copyOf(char[] original,int newLength)复制指定的数组,截断或填充空字符(如有必要),使副本具有指定的长度
copyOf(double[] original,int newLength)复制指定的数组,截断或填充0(如有必要),使副本具有指定的长度
copy0f(float[] original,int newLength)复制指定的数组,截断或填充0(如有必要),使副本具有指定的长度
copyOf(int[] original,int newLength)复制指定的数组,截断或填充0(如有必要),使副本具有指定的长度
copyOf(long[] original,int newLength)复制指定的数组,截断或填充0(如有必要),使副本具有指定的长度
copyOf(short[] original,int newLength)复制指定的数组,截断或填充0(如有必要),使副本具有指定的长度
copyOf(T[] original,int newLength)复制指定的数组,截断或填充空值(如有必要),使副本具有指定的长度
copy0f(U[] original,int newLength,Class<? extends T[]> newType)复制指定的数组,截断或填充空值(如有必要),使副本具有指定的长度


例如:

import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        int[] arr1 = {1,2,3,4,5};
        int[] arr2 = Arrays.copyOf(arr1,4);
        int[] arr3 = Arrays.copyOf(arr1,8);
        for(int i=0;i<arr2.length;i++)
            System.out.print(arr2[i]+" ");
        System.out.println();
        for(int i=0;i<arr3.length;i++)
            System.out.print(arr3[i]+" ");
    }
}


运行结果如下:

1 2 3 4
1 2 3 4 5 0 0 0


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)