我们常见的 Object a = new Object(); Object b; b = a; 这种形式的代码复制的是引用, 即对象在内存中的地址, a和b指向了同一个对象....它的工作原理如下: 在内存中先开辟一块和原始对象相同的空间, 然后复制原始对象的内容....Java中实现浅克隆
java中实现clone要实现 Cloneable 接口, 该接口十分简单, 源码如下:
?
仅仅起到一个标识的作用.
下面是一个实现浅克隆的例子:
?...Java序列化克隆
如果引用类型中海包括引用类型, 要实现多层克隆会很麻烦, 这使用可以使用序列化和反序列化的方式实现对象的深克隆....由于Java序列化的过程中, 写在流中的是对象的一个拷贝, 而原对象仍然在JVM中, 所以可以利用这个原理来实现对对象的深克隆.
上面代码使用序列化实现如下:
?