【发布时间】:2010-07-27 11:49:11
【问题描述】:
我有一个课程Foo,它是Serializable。它代表一个图形对象,我希望它在序列化之前将其句柄恢复到状态。所有数据都存储在对象中,我只需要在适当的时候调用一个方法。我怎样才能实现它?这在 Java 中可行吗?
(我的Foos 在Bar 对象中的List 和其他一些地方 - 这就是我不想手动执行此操作的原因。)
【问题讨论】:
标签: java serialization
我有一个课程Foo,它是Serializable。它代表一个图形对象,我希望它在序列化之前将其句柄恢复到状态。所有数据都存储在对象中,我只需要在适当的时候调用一个方法。我怎样才能实现它?这在 Java 中可行吗?
(我的Foos 在Bar 对象中的List 和其他一些地方 - 这就是我不想手动执行此操作的原因。)
【问题讨论】:
标签: java serialization
在序列化和反序列化过程中需要特殊处理的类必须实现具有这些确切签名的特殊方法:
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException;
实现这个方法,调用in.defaultReadObject(),然后做任何你想做的自定义逻辑。
查看java.io.Serializable的文档了解更多详情
【讨论】: