Poo*_*ool 17 java serialization final
我有一个用于不可变用途的类,因此我想标记所有字段final.
但是,该类被序列化和反序列化以通过网络发送.为此,需要一个空构造函数.这可以防止我创建最终字段.
我确信这是一个相当普遍的问题,但我找不到解决方案.我该怎么办?
不需要no-arg构造函数.派生最多的非可序列化类确实需要一个no-arg构造函数可用于最少派生的可序列化类.
如果你需要改变a中的字段readObject,那么通过readResolve和使用串行代理writeReplace.
在典型的序列化情况下,不要求类具有可构造的空构造函数或非最终字段.
现在,如果您必须进行自己的序列化,或者您需要子类化不实现Serializable的类,那么这是一个不同的故事.
因此,您需要提供有关如何解决问题的更多详细信息.
| 归档时间: |
|
| 查看次数: |
7722 次 |
| 最近记录: |