Java序列化与反序列化的实战案例
在Java中,序列化和反序列化是一种将对象状态保存并恢复的过程。下面我会提供一个简单的序列化和反序列化的实战案例。
案例:Person对象的序列化和反序列化
首先,定义一个Person类:
public class Person {
private String name;
private int age;
// getters and setters
}
然后进行序列化(保存状态):
// 创建Person对象
Person person = new Person();
person.setName("John Doe");
person.setAge(30);
// 序列化,将对象转换为字节流
try {
byte[] bytes = ObjectOutputStream.writeObject(person);
// 存储这些字节(通常在文件或数据库中)
} catch (IOException e) {
e.printStackTrace();
}
接下来进行反序列化(恢复状态):
// 从存储的字节流中恢复Person对象
try {
Person personFromBytes = (Person) ObjectInputStream.readObject(bytes);
// 打印恢复的对象,确保数据正确
System.out.println(personFromBytes);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
总结:这个例子展示了如何使用Java的序列化和反序列化功能来保存和恢复对象状态。
还没有评论,来说两句吧...