深度克隆(序列化)

package com.yd.wmsc.util;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class CloneUtil {

    @SuppressWarnings("unchecked")
    public static <T> T deepCopy(T obj) throws IOException, ClassNotFoundException {
       ByteArrayOutputStream byteArrayOutputStream =new ByteArrayOutputStream();
       ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
       objectOutputStream.writeObject(obj);
       
       ByteArrayInputStream byteArrayInputStream =new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
       ObjectInputStream objectInputStream =new ObjectInputStream(byteArrayInputStream);
       return (T)objectInputStream.readObject();
    }
}

 

posted @ 2017-07-16 16:21  tonggc1668  阅读(184)  评论(0编辑  收藏  举报