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