原型模式深入--使用序列化机制实现对象的深克隆
来源:互联网 发布:linux ping 编辑:程序博客网 时间:2024/04/30 10:08
其实对象的深克隆还可以通过序列化来实现,直接上代码,对象使用的还是之前的sheep对象,但是要实现Serializable的接口:
public class Client3 { public static void main(String[] args) throws CloneNotSupportedException, Exception { Date date = new Date(12312321331L); Sheep s1 = new Sheep("少利",date); System.out.println(s1); System.out.println(s1.getSname()); System.out.println(s1.getBirthday());// 使用序列化和反序列化实现深复制 ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(s1); byte[] bytes = bos.toByteArray(); ByteArrayInputStream bis = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(bis); Sheep s2 = (Sheep) ois.readObject(); //克隆好的对象! System.out.println("修改原型对象的属性值"); date.setTime(23432432423L); System.out.println(s1.getBirthday()); s2.setSname("多利"); System.out.println(s2); System.out.println(s2.getSname()); System.out.println(s2.getBirthday()); }}
0 0
- 原型模式深入--使用序列化机制实现对象的深克隆
- 对象的克隆-原型模式
- 原型管理器--对象的克隆--原型模式
- 【设计模式】对象的克隆-原型模式
- 对象的克隆——原型模式(三):浅克隆,深克隆
- 对象的克隆——原型模式(三):浅克隆,深克隆
- 对象的克隆——原型模式
- 对象的克隆——原型模式
- 对象的克隆——原型模式
- 对象的克隆——原型模式
- 对象的克隆--原型模式(Prototype)
- 对象的克隆——原型模式
- 克隆一个对象——原型模式深入解析
- 克隆一个对象——原型模式深入解析
- 【怎样写代码】对象克隆 -- 原型模式(五):原型管理器的引入和实现
- 对象的克隆——原型模式(四):原型管理器的引入和实现,原型模式总结
- 原型模式 Serializable序列化与反序列化克隆对象
- java使用序列化实现深克隆
- 人脸检测 coords 到屏幕 coords
- apk文件反编译
- Mac OS X 使用gdb
- [leetcode] 190. Reverse Bits
- jsp获取当前最新浏览器
- 原型模式深入--使用序列化机制实现对象的深克隆
- ios常见错误日志
- 应用再签名
- Padding 与Margin
- Android Looper机制简介
- js刷新整个页面包括引入进来的jsp
- DELPHI 指针使用
- VS开发人员命令界面查看C++类内存布局
- Android 异步消息处理机制 让你深入理解 Looper、Handler、Message三者关系