如何实现对象克隆

情景:在我们实际的开发过程中,一个对象A中已经包含了一些有用的信息,现在我需要复制A的内容到B。使得A和B对象是完全两个不同的内存地址,修改一个对象的值,不会影响到另外一个。

在java中如果单单采用复制的方式是不行的,只会让A和B同时指向一个内存地址,互相影响。

解决:

1.实现Cloneable接口,并重写object类中的clone方法,可以实现浅克隆,也可以实现深度克隆。

2.实现Serializable,通过对象的序列化和反序列化实现克隆,可以实现真正的深克隆。

3.利用BeanUtils,apache和spring都提供了这个bean工具。只是他也是浅克隆。

具体的会列出文章,展开讨论,这里就不做过多的描述了。

你可能感兴趣的:(Java面试题库)