美文网首页Java笔记
Java-使用序列化拷贝对象

Java-使用序列化拷贝对象

作者: 妍倩倩 | 来源:发表于2016-09-01 17:06 被阅读6次
public class CloneUtils<T extends Serializable> {
    @SuppressWarnings("unchecked")
    public static <T extends Serializable> T clone(T obj) {
        T cloneObje = null;
        
        ByteArrayOutputStream baos = null;
        ObjectOutputStream oos = null;
        
        ByteArrayInputStream bais = null;
        ObjectInputStream ois = null;
        try {
            baos = new ByteArrayOutputStream();
            oos = new ObjectOutputStream(baos);
            oos.writeObject(obj);
            
            bais = new ByteArrayInputStream(baos.toByteArray());
            ois = new ObjectInputStream(bais);
            try {
                cloneObje = (T) ois.readObject();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                ois.close();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
            try {
                bais.close();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
            try {
                oos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                baos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return cloneObje;
    }
}

相关文章

  • Java-使用序列化拷贝对象

  • C#深度拷贝,浅拷贝

    使用序列化的方法实现深度拷贝非常方便

  • java

    1.反射、clone、反序列化创建对象 ,深拷贝(复制原型中对象的内存copy)和浅拷贝 (复制原型的引用) cl...

  • 什么是浅拷贝和深拷贝?

    创建Java对象的方式包括new、反射、反序列化、拷贝,那么什么是拷贝呢?浅拷贝和深拷贝又有什么区别呢? 什么是拷...

  • Hello Java

    目录 Java-基础(1/6) Java-对象(2/6) Java-核心库类 上(3/6) Java-核心库类下(...

  • 拷贝构造函数

    通过拷贝新建对象时可使用拷贝构造函数(特别是对象的传值时)。仅在代码中需要拷贝一个类对象的时候使用拷贝构造函数;不...

  • No.40 jQuery对象拷贝、多库共存

    一、jQuery 对象拷贝 如果想要把某个对象拷贝(合并) 给另外一个对象使用,此时可以使用 $.extend()...

  • C#序列化

    序列化操作 序列化对象声明 对类使用序列化时,标注那些不需要序列化的字段。 序列化只能针对字段使用。 使用序列化相...

  • 深入JavaScript Day33 - 序列化实现深拷贝的缺点

    一、序列化实现深拷贝的缺点、手写深拷贝 1、借助序列化实现深拷贝,有哪些缺点? ①不能拷贝函数 ②不能拷贝Symb...

  • jQuery 其他方法

    1. jQuery 对象拷贝 如果想要把某个对象拷贝(合并) 给另外一个对象使用,此时可以使用 $.extend(...

网友评论

    本文标题:Java-使用序列化拷贝对象

    本文链接:https://www.haomeiwen.com/subject/vcxhettx.html