Eclipse 很好地为我生成了 serialVersionUID。但这似乎是被动代码生成,因为 id 不会在我更改文件时自动更新,除非我再次生成。
有什么方法可以在每次更改内容时生成 serialVersionUID? “保存操作”似乎不包含这样的选项 - 有人找到了执行此操作的方法吗?
如果它可以与 IDE 保存操作或类似的东西结合使用,这样我就可以在不影响序列化的情况下恢复更改。
最好的问候, 灯子
编辑:@gustafc:这有两个要点:
- 如果我没理解错的话,不同的编译器可能会得到不同的 serialVersionUID 值
- 来自 Serializable API :但是,强烈建议所有可序列化类显式声明 serialVersionUID 值,因为默认的 serialVersionUID 计算对类详细信息高度敏感,这些详细信息可能因编译器实现而异,因此可能在反序列化期间导致意外的 InvalidClassExceptions
- 我正在使用某种命令模式,例如对象在服务器上执行操作。因此,即使对象内容没有改变,当类内容在客户端和服务器上不同时,也能很好地捕捉到这种情况。
- 但再想一想,这可能不适用于自动生成的值,因为只有内容更改才会改变它吗?所以,实际上我想要一个自动递增的 serialVersionUID
这听起来合理吗?
Summa summarum,经过更多思考,每次更改时自动递增的 serialVersionUID 会更好......
最佳答案
Eclipse 中没有执行此操作的标准功能。
关于java - 每次更改时 Eclipse 自动生成 serialVersionUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1464529/