Serializable deep copy
来源:互联网 发布:图书管理系统java项目 编辑:程序博客网 时间:2024/05/18 02:25
package com.samsung.TextFileTest;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;public class SerialCloneTest { public static void main(String[] args) throws Exception { Employee harry = new Employee("Harry Hacker", 35000, 1989, 10, 1); Employee harry2 = (Employee) harry.clone(); harry.raiseSalay(10.0); System.out.println(harry); System.out.println(harry2); }}class SerialCloneable implements Cloneable,Serializable { private static final long serialVersionUID = 7182800251849015546L; @Override protected Object clone(){ // TODO Auto-generated method stub try { ByteArrayOutputStream bout=new ByteArrayOutputStream(); ObjectOutputStream out=new ObjectOutputStream(bout); out.writeObject(this); out.close(); ByteArrayInputStream bin=new ByteArrayInputStream(bout.toByteArray()); ObjectInputStream in = new ObjectInputStream(bin); Object ret=in.readObject(); return ret; } catch (Exception e) { // TODO Auto-generated catch block return null; } }}
package com.samsung.TextFileTest;import java.util.Date;import java.util.GregorianCalendar;public class Employee extends SerialCloneable{ private String name; private double salay; private Date hireDay; public Employee(){ } public Employee(String name, double salay, int year, int month, int day) { super(); this.name = name; this.salay = salay; GregorianCalendar calendar=new GregorianCalendar(year,month-1,day); this.hireDay=calendar.getTime(); } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getSalay() { return salay; } public void setSalay(double salay) { this.salay = salay; } public void setHireDay(Date hireDay) { this.hireDay = hireDay; } @Override public String toString() { return "Employee [name=" + name + ", salay=" + salay + ", hireDay=" + hireDay + "]"; } public void raiseSalay(double add){ this.salay=this.salay*(add/100+1); }}
Employee [name=Harry Hacker, salay=38500.0, hireDay=Sun Oct 01 00:00:00 CST 1989]Employee [name=Harry Hacker, salay=35000.0, hireDay=Sun Oct 01 00:00:00 CST 1989]
0 0
- Serializable deep copy
- deep copy
- Deep copy & Shallow copy
- Shallow copy & Deep copy
- Deep copy and shadow copy
- Deep Copy and Shallow Copy
- deep copy vs shallow copy
- Deep Copy VS Shallow Copy
- Shallow Copy and Deep Copy
- shallow copy and deep copy
- Shallow Copy与Deep Copy
- shallow copy与deep copy
- Deep copy and shallow copy
- deep copy and shallow copy
- deep copy code
- shallow & deep copy
- Shallow vs. deep copy
- Java Generic Deep Copy
- 【数字图像处理学习笔记之三】Blob分析
- Android弹出软键盘时如何将底部顶上去
- Scramble String
- SpringMVC入门
- Codeforces160D Edges in MST
- Serializable deep copy
- Poj 2723 Go Deeper【2-SAT-----Tarjan强连通+二分】
- 使用颜色当图片
- kinect动作捕捉
- 基于内存数据网格的REST数据服务
- 第18章类加载机制和反射
- su和su - 区别
- 添物零基础到大型全栈架构师 不花钱学计算机及编程(预备篇)— 数据库
- 解决Maven关于本地jar包的打包处理