时间:2020-10-25 14:28:09 | 栏目:JAVA代码 | 点击:次
在看别人的关于CopyOnWriteArrayList 这个类的时候,看到有人提出了关于:数组拷贝的方法Arrays.copyOf() 的问题,如下:
只是复制了引用地址,数组内的对象还是和旧数组一样的?
看了他的问题,我也是有点迷惑了,以前都没想过这个。既然如此,我就有如下的测试,以解心中之疑惑。
看代码名字,就是从其他地方获得三个student对象到这个数组里面,打印没复制之前的数组信息。然后修改新新数组的第0个学生的名字。然后再输出copy出来的数组和源数组,看看啥情况。
结果:
虽然copy出来的是新数组没错。
但是新旧数组都是指向同一个引用滴,哦 my god 。
所以最后的结论是:
Java 拷贝数组方法 Arrays.copyOf() 是地址传递。
总结