Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有不同类名的完全不同的类。我应该serialVersionUID在课堂上使用不同的吗?
serialVersionUID
如果是这样,为什么有必要?
JRE究竟是如何反序列化的?
不,您不需要不同的 SUID(所有类都可以使用 1)
当一个对象被序列化时,类标识符(package.name.ClassName)和SUID都是标头的一部分,用于标识对象所属的类,并确保写入端和读取端之间没有不兼容
但是当您在结构上更改一个类(添加/删除一个字段)时,您应该为该类设置一个新的 SUID(在调试期间,您可以让 JVM 在运行时根据 .class 文件创建一个新的)