我重写了
提前感谢您。
readObject/writeObject
方法以自定义对象的序列化。问题是这些方法不接受任何参数。有没有办法在这些方法中传递参数,以便我可以在序列化过程中使用它们?提前感谢您。
readObject/writeObject
方法以自定义对象的序列化。问题是这些方法不接受任何参数。有没有办法在这些方法中传递参数,以便我可以在序列化过程中使用它们?没有选项可以传递参数,而且你为什么需要这样做呢。
序列化和反序列化是写入和读取对象状态的过程,因此在序列化或反序列化之前,您的类应该具有其中的所有属性。
这两种方法不应该有任何传递参数的原因。
您不能更改读/写方法的签名。解决此问题的一种方法是在对象中设置和存储序列化参数,并在读/写方法中使用它们。
或者,您可以创建一个静态类,例如SerializationParameter,并将序列化参数存储在其中。由于它们是静态的,因此您不必为每个序列化对象在内存中复制它们。
objectOutputStream.writeObject(foo)
时,无法给出任何参数。这个问题并没有太多意义。 - JB Nizet