时间:2021-05-20
在看别人的关于CopyOnWriteArrayList 这个类的时候,看到有人提出了关于:数组拷贝的方法Arrays.copyOf() 的问题,如下:
只是复制了引用地址,数组内的对象还是和旧数组一样的?
看了他的问题,我也是有点迷惑了,以前都没想过这个。既然如此,我就有如下的测试,以解心中之疑惑。
看代码名字,就是从其他地方获得三个student对象到这个数组里面,打印没复制之前的数组信息。然后修改新新数组的第0个学生的名字。然后再输出copy出来的数组和源数组,看看啥情况。
结果:
虽然copy出来的是新数组没错。
但是新旧数组都是指向同一个引用滴,哦 my god 。
所以最后的结论是:
Java 拷贝数组方法 Arrays.copyOf() 是地址传递。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java中方法参数传递方式是按值传递。如果参数是基本类型,传递的是基本类型的字面量值的拷贝。如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝。j
有两种数组拷贝类型:浅拷贝&深拷贝。浅拷贝只会拷贝数组的第一层,剩下的会引用。如果你需要一个嵌套的数组的拷贝,那需要你去深度拷贝这个数组。深拷贝,选择JSON方
本文实例讲述了java实现字符串转String数组的方法。分享给大家供大家参考,具体如下:packageTsets;importjava.util.Arrays
本文实例讲述了javascript数组与php数组的地址传递及值传递用法。分享给大家供大家参考。具体如下:javascript数组为地址传递/引用传递,而php
本文实例讲述了python数组复制拷贝的实现方法。分享给大家供大家参考。具体分析如下:python中直接通过等号赋值实际上只是引用地址的传递如:a=[1,2,3
Copyright © 1999-2023 中企动力科技股份有限公司(300.cn)All Rights Reserved
京公网安备11030102010293号 京ICP证010249-2