请提供在课程和课程中反序列化时失败的方案/条件。序列化对象有相同的serialVersionUID?

时间:2010-05-25 05:16:42

标签: java serialization

请提供在课程和课程中反序列化时失败的方案/条件。序列化对象具有相同的serialVersionUID

我正在寻找像

这样的场景

1)如果更改了实例变量的数据类型,则反序列化将失败

请您提供所有此类方案。我无法在互联网的任何地方找到这样的情景列表。

由于

2 个答案:

答案 0 :(得分:4)

Java Object Serialization Specification,第5.6.1节中列出了使反序列化失败的更改。

答案 1 :(得分:1)

从readObject()抛出的异常给出了可能发生的事情的第一印象。

http://java.sun.com/j2se/1.4.2/docs/api/java/io/ObjectInputStream.html#readObject()

  • ClassNotFoundException - 找不到序列化对象的类。
  • InvalidClassException - 序列化使用的类有问题。
  • StreamCorruptedException - 流中的控制信息不一致。
  • OptionalDataException - 在流中找到原始数据而不是对象。
  • IOException - 任何常见的输入/输出相关异常。