首页 > 代码库 > 关于对象的深度复制
关于对象的深度复制
由于近期项目任务较为繁重,所以一直没有抽出时候来更新自己的东西;或许已经被自勉的coder拉开很大的距离,今天看到一个深度复制的问题引起了我的反思:
在这之前,我一般考虑到复制一个对象的场景时,总是会在对应的类型声明中覆盖一个 克隆方法来解决问题;这样确实行之有效,但如果系统中已经有成熟的规范时,此时或许跟序列化的方式结合可能更好,可以参考如下例子:
public Object deepCopy(){ //写入 ByteArrayOutputStream bOut = new ByteArrayOutputStream(); ObjectOutputStream oOut = new ObjectOutputStream(bOut); oOut.writeObject(this); //读回 ByteArrayInputStream bIn = new ByteArrayInputStream(bOut.toByteArray()); ObjectInputStream oIn = new ObjectInputStream(bIn); return oIn.readObject(); }
重点:
自我复制的对象类型需实现序列化接口。
关于对象的深度复制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。