java数组的拷贝四种方法:forcloneSystem.arraycopyarrays.copyof

Posted brave-sailor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java数组的拷贝四种方法:forcloneSystem.arraycopyarrays.copyof相关的知识,希望对你有一定的参考价值。

public class ArrayCopy{
    public static void main(String []args){
    int []a = {1,3,4,5};

    toPrint(a);
    int []aFor=new int[a.length];
    //1.for循环复制
    System.out.println("===========1.使用for复制");
    for(int i=0;i<a.length;i++){
        aFor[i]=a[i];
    }
    aFor[2]=10;//改变aFor中的值原数组中的值不变
    System.out.print("数组a:");
    toPrint(a);
    System.out.print("数组aFor:");
    toPrint(aFor);
    //**2.使用System.arraycopy(src,srcpos,dest,destpos,length);
    System.out.println("===========2.使用System.arraycopy复制\n把aFor复制给a:");
    System.arraycopy(aFor,0,a,0,a.length);
    aFor[1]=9;//改变aFor中值
    toPrint(a);
    toPrint(aFor);
    //3.使用clone复制
    System.out.println("===========3.使用clone把aFor的值复制给a");
    a=(int[])aFor.clone();
    aFor[0]=8;
    toPrint(a);
    toPrint(aFor);
    //4.使用Arrays类的copyOf和copyOfRange实现对数组复制
    System.out.println("===========4.使用Arrays.copyOf/把aFor的值复制给a");
    a=java.util.Arrays.copyOf(aFor,aFor.length+1);
    aFor[3]=11;
    toPrint(a);
    toPrint(aFor);
    
    }
    static void toPrint(int[] a){
    for(int aa:a){
        System.out.print(" "+aa);
    }
    System.out.println();
    }
}

 

以上是关于java数组的拷贝四种方法:forcloneSystem.arraycopyarrays.copyof的主要内容,如果未能解决你的问题,请参考以下文章

js 数组的深度拷贝 的四种实现方法

java 四种方式实现字符流文件的拷贝对比

记录-实现深拷贝的四种方式

Java复制(拷贝)数组的5种方法

Java复制(拷贝)数组的5种方法

java语言复制数组的四种方法