为什么要克隆
首先思考一个问题, 为什么需要克隆对象? 直接new一个对象不行吗?...克隆的对象可能包含一些已经修改过的属性, 而new出来的对象的属性都还是初始化时候的值, 所以当需要一个新的对象来保存当前对象的"状态"时就要靠克隆了....对于基本数据类型, 这样操作当然没问题, 但对于引用类型, 由于保存的仅仅是对象的引用, 克隆过去的引用所指向的是同一个对象....Java中实现浅克隆
java中实现clone要实现 Cloneable 接口, 该接口十分简单, 源码如下:
?
仅仅起到一个标识的作用.
下面是一个实现浅克隆的例子:
?...可以将序列化克隆封装为一个方法, 如下所示:
?
通过该工具类即可进行深度克隆.