我有一个可序列化的类,其中有一些成员从guice模块注入。但是,这些成员是不可序列化的,我不能强制使用Serializable接口声明它们。 如何为此类编写readObject和writeObject函数以支持序列化此类的实例?
答案 0 :(得分:3)
您可以将这些字段声明为transient
,以防止自动序列化或实施您自己的readObject
和writeObject
。实施将取决于您的申请。如果在反序列化后你可以在没有可序列化成员的情况下站起来,那就忽略它们。如果你需要它们,你必须找到一种方法来获得它们。
在你的情况下,这些是Guice注入的对象。如果您计划在Guice的上下文中反序列化您的对象,则必须注入这些依赖项。我不太了解Guice但在春天我知道两种方式: