java - 查找序列化对象的serialVersionUID

标签 java serialization serialversionuid

有没有办法确定生成的序列化Java对象的serialVersionUID

问题是我序列化了一个对象而没有明确指定 serialVersionUID。现在反序列化过程提示类不兼容。但是,我没有以使其不兼容的方式更改类(class)。所以我假设在类中指定 serialVersionUID 就足够了,因为它存储在对象数据中。为此,我需要从序列化数据中读取 serialVersionUID

最佳答案

这对我有用:

long serialVersionUID = ObjectStreamClass.lookup(YourObject.getClass()).getSerialVersionUID();

希望对你也有帮助。

关于java - 查找序列化对象的serialVersionUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1321988/

相关文章:

java - 我应该如何序列化域模型快照以进行事件溯源

c# - 错误 - 未标记为可序列化

Java Externalizable serialVersionUID

java - java中的serialVersionUID是什么,通常在异常类中?

java - ProGuard 不工作

python - 为什么 python pickle 加载和转储会膨胀磁盘上对象的大小?

java - Hibernate Criteria 查询不查询一对多中的多

Java 在 JPanel 内声明serialVersionUID 时出错

java - 有没有好的方法继承一个Builder类来添加更多选项?

java - java从链表中删除多个节点