假设我有完全不同的类,具有不同的类名。我应该在课程中使用其他serialVersionUID
吗?
如果是这样,为什么有必要?
JRE如何反序列化?
最佳答案
不,您不需要其他SUID(所有类都可以使用1)
当对象被序列化时,类标识符(package.name.ClassName)和SUID都是标头的一部分,以标识该对象所属的类,并确保写入侧和读取侧之间不存在不兼容性
但是在结构上更改类(添加/删除字段)时,应为该类设置一个新的SUID(在调试期间,您可以让JVM在运行时基于.class文件创建一个新的SUID)。