一、什么是深拷贝和浅拷贝

深拷贝和浅拷贝是指在赋值时,复制对象的方式不同,深拷贝是指完全复制一份对象,即复制出来的对象和原来的对象完全独立,互不影响,而浅拷贝只是复制了对象的引用,复制出来的对象和原来的对象共享内存,一个改变,另一个也会改变。

二、Java中实现深拷贝

Java中实现深拷贝的方法有以下几种:

1、使用序列化,即将对象实例序列化成字节流,再从字节流中反序列化出新的对象实例,从而实现深拷贝,代码如下:

三、Java中实现浅拷贝

Java中实现浅拷贝的方法有以下几种:

1、使用Object类的clone()方法,Object类的clone()方法是浅拷贝,复制出来的对象和原来的对象共享内存,一个改变,另一个也会改变,代码如下: