Java 深拷贝浅拷贝

Arrays.copyOf()方法在底层是调用了 System.arraycopy() 

对于基本数据类型来说System.arraycopy() 方法是深拷贝,对于引用数据类型来说 System.arraycopy() 方法是浅拷贝。

总结:

拷贝方式数值类型引用类型推荐使用
for循环 深拷贝 浅拷贝  
copyOf 深拷贝 浅拷贝 推荐
arraycopy 深拷贝 浅拷贝 推荐
clone 深拷贝 浅拷贝  

ArrayList#toArray()方法底层用的是Arrays.copyOf()。

那么对于引用类型,Java如何实现深拷贝呢?

推荐: 通过对象序列化实现深拷贝(实现Serializable接口)

posted on 2023-04-13 11:15  joannae  阅读(41)  评论(0编辑  收藏  举报

导航