java复制对象问题

哎码 发布于 2016/10/17 11:04
阅读 143
收藏 0

apache的commons-beanutils复制的对象是不同的,但是里面引用的对象还是指向同一个对象

类似于这样:

public class User{

private Teacher teacher;

//...

}

复制之后两个user里面的teacher是同一个对象。

请问该如何复制,能让这里面的teacher也同时复制,引用不同的对象?

加载中
0
混乱羽翼
哎码
哎码
多谢大家的评论
1
太黑_thj
太黑_thj
序列化   到io流走一遍出来
1
kakai
kakai
public final static byte[] jdkSerialize(Object value) {
        try (ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos)) {
            oos.writeObject(value);
            byte[] bytes = bos.toByteArray();
            return bytes;
        } catch (IOException ex) {
            Logger.getLogger(Lzma.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;

    }


public final static <T> T jdkDeserialize(byte[] bytes) {
        try (ByteArrayInputStream bis = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(bis)) {
            Object obj = ois.readObject();
            return (T) obj;
        } catch (IOException | ClassNotFoundException ex) {
            Logger.getLogger(Lzma.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }

序列化能做到深度复制

返回顶部
顶部