gpt4 book ai didi

java - 反序列化对象 - 类已更改

转载 作者:行者123 更新时间:2023-12-01 05:25:17 26 4
gpt4 key购买 nike

我过去序列化了一个没有serialUID的对象数组,但与此同时我改变了类——我添加了一个 boolean 值。现在我无法恢复对象。我尝试重新创建旧类(从 svn)并删除有关“无串行 uid”的警告,以便获取从 Eclipse 生成的串行UID。我尝试将其粘贴到我的新版本的类(class)中,但仍然失败。我不确定这是否是因为删除警告会更改生成的序列号。接下来我尝试使用“serialver”工具,但我不断收到“找不到类”错误。

有人可以为我拼写出我应该在命令行中输入什么,因为我不完全确定在类路径中输入什么?我用这个作为我的模板:Serialver -classpath C:\foo\classes.jar com.bar.FooMessage我的工作空间是 D:\blabla\androidworkspace项目是 Shows 所以在 eclipse 中它说:显示-src-xyz-show.java我从 C:\Program Files (x86)\Java\jdk1.6.0_24\bin 运行命令

最佳答案

这里很好地解释了序列化的工作原理 http://www.javaworld.com/community/node/2915

你需要做的是:

  • 获取序列化字节并分析它们,这些字节包含您的原始类(class)序列号,
  • 那么你应该为你的代码设置序列号并编译就像静态最终长serialVersionUID = ;

  • 关于java - 反序列化对象 - 类已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9776800/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com