在Java中可以通过实现Serializable接口来解决序列化问题:
- 让要序列化的类实现Serializable接口
public class User implements Serializable {
private String name;
private int age;
// 其他代码
}
- 将对象写入文件
User user = new User("John", 20);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("user.txt"));
oos.writeObject(user);
oos.close();
- 从文件中读取对象
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("user.txt"));
User newUser = (User) ois.readObject();
ois.close();
实现Serializable接口会激活序列化机制,自动处理对象的持久化。
需要注意序列化时可能抛出的异常,以及非静态变量不会被序列化等情况。
序列化是在网络传输、存储读取等场景中将对象状态保存和恢复的重要手段。