我有一个类 Foo
,它是 Serializable
。它代表一个图形对象,我希望它在序列化之前将其句柄恢复到状态。所有数据都存储在对象中,我只需要在适当的时候调用一个方法。我怎样才能实现它?这在 Java 中可行吗?
(我的 Foo
s 在 Bar
对象的 List
和其他一些地方 - 这就是我不想要的原因手动完成。)
最佳答案
Classes that require special handling during the serialization and deserialization process must implement special methods with these exact signatures:
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException;
实现这个方法,调用in.defaultReadObject()
,然后做任何你想做的自定义逻辑。
查看 java.io.Serializable
的文档了解更多
关于java - 反序列化后如何自动执行方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3343277/