java对象序列化与反序列化的实现
一、首先创建一个java对象,实现序列化接口,为序列化和反序列化做准备
1 import java.io.Serializable; 2 3 /** 4 * 实现序列化接口,为序列化和反序列化测试做准备 5 */ 6 public class Car implements Serializable { 7 8 private int height; 9 10 private String color; 11 12 public Car(int height, String color) { 13 this.height = height; 14 this.color = color; 15 } 16 17 @Override 18 public String toString() { 19 return "Car{" + 20 "height=" + height + 21 ", color='" + color + '\'' + 22 '}'; 23 } 24 25 }
二、编写测试类,编写实现序列化和反序列化的代码
1 import java.io.*; 2 3 public class SerializableTest { 4 5 public static void main(String[] args) throws IOException, ClassNotFoundException { 6 //序列化过程,文件后缀可以随意 7 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("car1.ser")); 8 Car car1 = new Car(175, "白色"); 9 oos.writeObject(car1); 10 oos.close(); 11 12 //反序列化过程 13 ObjectInputStream ois = new ObjectInputStream(new FileInputStream("car1.ser")); 14 Car car2 = (Car) ois.readObject(); 15 System.out.println("car2:" + car2); 16 ois.close(); 17 } 18 19 }
三、单独运行序列化代码和反序列化代码即可得到测试结果
1 car2:Car{height=175, color='白色'}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!