不同类别的SUID不同

时间:2012-09-19 14:30:43

标签: serialization deserialization java suid

假设我有完全不同的类,不同的类名。我应该在课程中使用不同的serialVersionUID吗?

如果是这样,为什么有必要?

JRE如何完全反序列化?

1 个答案:

答案 0 :(得分:1)

不,你不需要不同的SUID(所有类都可以使用1)

当一个对象被序列化时,类标识符(package.name.ClassName)和SUID都是标题的一部分,用于标识对象所属的类,并确保写入方和读取方之间不存在不兼容性

但是当您在结构上更改类(添加/删除字段)时,您应该为该类设置一个新的SUID(在调试期间,您可以让JVM在运行时根据.class文件创建一个新的)