数组之间直接赋值只是引用赋值

//创建两个数组
        int [] a ={1,2,3,4};
        int [] b=new int[4];

//将数组a赋值给b
        b=a;
//遍历数组a
        System.out.print("  数组A:");
        for (int i=0;i<a.length;i++)
            System.out.print(a[i]);
        System.out.println();
        //遍历数组b
        System.out.print("  数组B:");
        for (int i=0;i<a.length;i++)
        System.out.print(b[i]);

        System.out.println("\n数组A的a[2]元素修改后:");
//修改数组a的值后输出a数组
        a[2]=7;
        System.out.print("  数组A:");
        for (int i=0;i<a.length;i++)
            System.out.print(a[i]);
        System.out.println();
//再次输出b数组
        System.out.print("  数组B:");
        for (int i=0;i<a.length;i++)
            System.out.print(b[i]);
    }

输出结果是:

 

 

说明数组 b=a;是b引用了a数组,当a数组中的元素值改变时,b数组中的元素值也会改变,怎样才能将数组a的元素赋值给数组b,而且不受a的影响呢?

答案是:

//将数组a赋值给b
        b=a.clone();

输出结果:

 

赋值后数组b不再受到数组a的影响。

 

posted on 2021-12-23 20:54  之火  阅读(243)  评论(0)    收藏  举报