Java:在readObject / writeObject方法中传递参数

时间:2012-06-05 12:09:17

标签: java serialization

我重写方法readObject/writeObject以自定义对象的序列化。问题是这些方法不带参数。无论如何都要在这些方法中传递参数,以便我可以在序列化过程中使用它们吗?

提前谢谢

2 个答案:

答案 0 :(得分:1)

没有传递参数的选项,而且为什么你需要这样做。

序列化,反序列化是编写和读取对象状态的过程,因此在序列化或反序列化之前,您的类应该具有其中的所有属性。

没有任何理由将参数传递给这两种方法。

答案 1 :(得分:0)

您无法更改读/写方法的签名。绕过它的一种方法是设置并将序列化参数存储在对象中,并在读/写方法中使用它们。

或者你可以创建一个静态类,比如SerializationParameter,并在那里存储你的序列化参数。因为它们是静态的,所以不必在每个序列化对象的内存中复制它们。