gpt4 book ai didi

java - 从类中删除字段并更新现有的序列化文件

转载 作者:行者123 更新时间:2023-12-02 03:27:22 25 4
gpt4 key购买 nike

我已经有一个包含类 X 实例的序列化文件。我现在决定通过删除不再需要的字段来修改类 X 的代码。相应地更新现有序列化文件的最佳方法是什么?

到目前为止我想到的唯一解决方案是:

  1. 创建一个与 X 相同但没有不需要的字段的临时类 Y。
  2. 从文件中反序列化 X 实例,构造其等效的 Y 实例,并将它们序列化到新文件。
  3. 从类 X 的代码中删除不需要的字段,然后反向执行步骤 2。

这真是一团糟(特别是因为这种情况对我来说很常见)。还有更好的办法吗?

谢谢!

最佳答案

您无需对该文件执行任何操作。被删除的字段数据将被反序列化到修改后的类中忽略。只需确保您不会干扰 serialVersionUID 的值,如果您尚未提供该值,请立即使用 serialver 工具的输出来提供你做出改变。

你需要仔细看看Versioning chapter of the Object Serialization Specification .

关于java - 从类中删除字段并更新现有的序列化文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38625325/

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