gpt4 book ai didi

java - 序列化一个以后可能会改变的java对象

转载 作者:搜寻专家 更新时间:2023-11-01 01:19:59 26 4
gpt4 key购买 nike

我需要序列化一个 java 对象,它以后可能会改变,比如可以添加或删除一些变量。如果这仍然是唯一的出路,这种方法的陷阱是什么?我应该采取什么预防措施。

最佳答案

  • 您肯定需要添加 serialVersionUID领域从头开始。
  • 更改可能会使序列化对象 incompatible .在反序列化字段不存在于期望它的类版本中的实例时,添加和删除字段可能会导致违反类契约(Contract)(直到抛出异常点) - 该字段设置为类型的默认值那个案子;最可能的问题是 NullPointerException。这可以通过实现 readObject() and writeObject() 来避免。 .其他更改(例如更改字段的类型)可能会导致反序列化完全失败。

关于java - 序列化一个以后可能会改变的java对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896562/

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