Java 数组复制clone方法实现详解
这篇文章主要介绍了Java数组复制clone方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一、源码
publicclassTest1{ publicstaticvoidmain(String[]args){ //Student[]arrs=newStudent[]{newStudent(){id="22"}};C#可以简写法,Java不支持 Student[]arrs=newStudent[1]; Studentst=newStudent(); st.id=12; st.name="qwe"; arrs[0]=st; Student[]arrss=arrs.clone(); System.out.println(arrs==arrss); System.out.println(arrs.equals(arrss)); arrss[0].id=56; for(inti=0;i二、运行结果
false false 56qwe 56qwe -------------自定义对象类型数组clone------------- true true 996qkkj 996qkkj -------------自定义对象类型数组=赋值------------- false false we ddddddddddddddd we dfeffg ------------字符串数组clone-------------- true true we ddddddddddddddd we ddddddddddddddd ------------字符串数组=赋值-------------- false false 45 4444 ------------数字类型数组clone-------------- true true 6666 6666 ------------数字类型数组=赋值-----------------三、结果分析
1.clone复制,对于数组本身而言,它的元素是引用类型(字符串除外)的时候,本来数组每个元素中保存的就是对象的引用,所以,拷贝过来的数组自然而言也是对象的引用,所以对于数组对象元素而言,它又是浅拷贝;
2.clone复制,对于引用类型(字符串除外),改变其中一个中的值,会影响另外一个值,相当于“浅拷贝”;
3.clone复制,对于值类型、字符串,改变其中一个中的值,不会影响另外一个值,相当于“深拷贝”;
4.等号复值后修改一个后会影响另一个
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。