1、为什么要使用克隆
对象的拷贝需要使用克隆,如果想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要使用克隆了,Java语言中克隆针对的是类的实例。
2、如何实现克隆对象
有两种方式:
(1)实现Cloneable接口并重写Object类中的clone()方法。
(2)实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆。
代码举例
public class MyUtil {
private MyUtil() {
throw new AssertionError();
}
@SuppressWarnings("unchecked")
public static <T extends Serializable> T clone(T obj)
throws Exception {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bout);
oos.writeObject(obj);
ByteArrayInputStream bin =
new ByteArrayInputStream(bout.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bin);
return (T

本文探讨了Java中克隆对象的重要性,介绍了两种实现方式:通过实现Cloneable接口和序列化反序列化。特别强调了序列化反序列化的深度克隆优势,并区分了深拷贝与浅拷贝的概念。
最低0.47元/天 解锁文章
1671

被折叠的 条评论
为什么被折叠?



