如果我将一个类定义为 Serialiable,那么当我创建一个子类时,它会要求我定义一个 serialVersionUID。这是必要的还是我可以依赖父类(super class)中的那个?
最佳答案
我曾经在单独的(可能是顶级类)中声明一次 SerialVersionUID,例如:
public static final long GlobalSerialVersionUID=0L;
然后在每个 Serializable
类中声明:
private static final long serialVersionUID = MyTopClass.GlobalSerialVersionUID;
这种方法将保证您始终拥有相同的 SerialVersionUID,并且如果您要在不同序列化版本之间实现数据交换 - 您可以在不同序列化版本之间分支代码。
关于java - 序列化和子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5549077/