Mar*_*o F 3 java legacy serialization
Serializable自2004年左右开始,我就有了一个在生产中使用的课程.然而,写这篇文章的人忘了生成一个serialVersionUID.
整个事情有点工作(有一个很大的评论警告,不要触及班级中的任何东西),但是当我在一个相关的不同类中工作时,我有一个InvalidCastException,所以我想添加serialVersionUID以确保该类正常工作.
问题是,是否可以添加这样的字段,而不会破坏现有的序列化实例?它们很多,并没有简单的方法来修改它们.
我的想法来自于看到异常消息,这是以下内容:
java.io.InvalidClassException: the.problematic.Class; local class incompatible: stream classdesc serialVersionUID = -8802277085918151566, local class serialVersionUID = -3137213695071887162"
Run Code Online (Sandbox Code Playgroud)
我认为我可以使用隐式串行(跟踪中的流classdesc)作为序列,它应该保持向后兼容性.它是否正确?我(或多或少)确保我们在整个系统中获得的所有序列化实例都具有相同的版本.
| 归档时间: |
|
| 查看次数: |
498 次 |
| 最近记录: |