在Eclipse中有没有办法串行生成serialVersionUID?我所说的串行是指如果一个可序列化类的 serialVersionUID = 1L,那么当我生成另一个类的 serialVersionUID 时,这将是 serialVersionUID = 2L。
如果我手动指定 1L、2L、3L 等,这会产生任何问题吗?
Eclipse 给了一个选择“Add generated serial version ID”的选项,选择这个选项安全吗?
最佳答案
不,它不会在您的两种情况下产生任何问题:
- 您可以手动增量指定它
- 您可以让 Eclipse 为它们分配随机生成的值
- 你可以为不同的类(class)保留它们全部
1L
串行 UID 的目的是禁止在不同版本中对相同类进行序列化和反序列化,尤其是在没有向前兼容性的情况下(例如,新版本的类不能通过以前的定义进行序列化/反序列化)。
这种情况很少发生,尤其是在处理您自己的项目时,这些项目不属于依赖序列化的大型框架。因此,您可以放心地做任何您想做的事。
当您正在更新一个类并且您希望禁止使用先前声明的 SAME 类对其进行序列化时,您希望同一类具有不同的序列化的情况。
关于java - 关于在 Eclipse 中生成的 serialVersionUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10389180/