ArrayList扩容机制,使用Arrays.copyOf(),而底层正是用的System.arraycopy();
System.arraycopy()到底是深拷贝还是浅拷贝? 分析如下:
看似arraycopy对引用数据类型是深拷贝,而对二维数组的引用类型却是浅拷贝,所以arraycopy应是浅拷贝。
一、基本数据类型数组(深):
二、引用数据类型数组(深):
三、二维引用数据类型数组(浅)
二维数组直接使用的引用对象。
ArrayList扩容机制,使用Arrays.copyOf(),而底层正是用的System.arraycopy();
System.arraycopy()到底是深拷贝还是浅拷贝? 分析如下:
看似arraycopy对引用数据类型是深拷贝,而对二维数组的引用类型却是浅拷贝,所以arraycopy应是浅拷贝。
二维数组直接使用的引用对象。