我重写方法readObject/writeObject
以自定义对象的序列化。问题是这些方法不带参数。无论如何都要在这些方法中传递参数,以便我可以在序列化过程中使用它们吗?
提前谢谢
答案 0 :(得分:1)
没有传递参数的选项,而且为什么你需要这样做。
序列化,反序列化是编写和读取对象状态的过程,因此在序列化或反序列化之前,您的类应该具有其中的所有属性。
没有任何理由将参数传递给这两种方法。
答案 1 :(得分:0)
您无法更改读/写方法的签名。绕过它的一种方法是设置并将序列化参数存储在对象中,并在读/写方法中使用它们。
或者你可以创建一个静态类,比如SerializationParameter,并在那里存储你的序列化参数。因为它们是静态的,所以不必在每个序列化对象的内存中复制它们。