java一维数组的深拷贝方式

在数组中,为了能够方便调用,我们通常会进行拷贝的操作。拷贝有两种模块,相信大家都在之前有所了解过。本篇所要说的是一维数组的深拷贝,可以说算是学习数组复制最简单的操作了,总共有三种方法可以实现。下面我们对这些方法进行罗列,然后带来具体的代码展示。

1、三种方法

(1)调用clone

(2)调用System.arraycopy

以上两种对基本类型和对象类型数据效果等同。

(3)使用FOR循环,将数组的每个元素复制。(注意调用clone方法)

2、实例

Object[]src=newObject[]{newString("Zhao"),
Integer.valueOf(1),
Integer.valueOf(2),
Integer.valueOf(3),
Integer.valueOf(4)};
Object[]dest=src.clone();//1.拷贝数据
//Object[]dest=newObject[5];
//System.arraycopy(src,0,dest,0,dest.length);
System.out.println(dest.equals(src));
System.out.println(dest==src);
for(inti=0;i<dest.length;i++){
System.out.print(dest[i]+",");
dest[i]=newString("KE");//2.改变新数组内容
System.out.print(dest[i]+",");
System.out.println(src[i]+",");//3.不影响原始数组
}
System.out.println();

注意: 一维数组下的深拷贝在多维数组只是浅拷贝。

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容