深度克隆,原型模式
来源:互联网 发布:jira 数据库配置 编辑:程序博客网 时间:2024/05/16 09:16
clone分为两种,一种是浅克隆,一种是深度克隆,深度克隆可以有两种实现形式,一种时重写clone方法,还有一种是用数据流的方式进行克隆,因为克隆的本质也是底层二进制的克隆
1.
public class Fks(){
public int whells;
public String color;
public ArrayList<String> list=new ArrayList<String>();
//get 和 set 注入函数省略
public Fks clone(){
Fks fksClone=null;
fksClone=(Fks)super.clone; //这句代码和下面的代码不能交换位置,即不能先对对象字段克隆在对对象进行克隆
this.list=this.list.clone; //因为要想深度克隆,就需要对非基本数据类型(String除外)进行单独的克隆处理
return fksClone;
}
}
2
public Object deepCopy(Object src)(){
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(src);
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
ObjectInputStream in = new ObjectInputStream(byteIn);
Object dest = in.readObject();
return dest;
}
3有一种设计模式用到了深度克隆,就是原型模式,
原型模式的定义:用原型实例指定创建的对象种类,并且通过拷贝这些原型对象创建新的对象 --摘录设计模式之禅(第2版)
- 深度克隆,原型模式
- 深度揭秘原型(深浅克隆)模式!
- 深入浅出设计模式 ------ Prototype(原型模式)之深度克隆
- 克隆(原型)模式
- 原型克隆模式
- 原型模式的浅度克隆和深度克隆的实现
- 从克隆到原型模式
- 原型模式设计克隆人
- 对象的克隆-原型模式
- 原型管理器--对象的克隆--原型模式
- 原型模式(克隆模式,拷贝模式)
- 创建模式之原型模式浅克隆
- 创建模式之原型模式 深克隆
- 【设计模式】对象的克隆-原型模式
- 设计模式之原型模式(深克隆,浅克隆)
- 七、原型模式(深浅克隆)
- 对象的克隆——原型模式
- 对象的克隆——原型模式
- Admob高级技巧
- mobiscroll 一个很好用的前端插件
- 我和Android的开始
- Spring与Quartz的整合实现定时任务调度
- leetcode 467. Unique Substrings in Wraparound String
- 深度克隆,原型模式
- 降雨等级划分标准
- 记个小问题:NestedScrollView+RecyclerView冲突,滑动黏连
- java 开发模式
- Java Runtime exec的挂掉问题,
- 38.lsof
- 字符串的排列
- 这是我的第一篇博客
- 注意区分大端模式&小端模式