反序列化的Object抛出异常的本地类不兼容

时间:2014-09-17 03:15:20

标签: java object serialization deserialization iostream

我想问一个问题。所以,我有一个像这样的代码块:

MyOwnObject deserializedObject = null;
try{
    ByteArrayInputStream bis = new ByteArrayInputStream(serializedObject.getBytes());
    ObjectInputStream ois= new ObjectInputStream(bis);
    deserializedObject = (MyOwnObject)ois.readObject();
    ois.close();
}catch(Exception e){
    e.printStackTrace();
}

someMapper.insert(deserializedObject);

PS:serializedObject是我之前从序列化过程中得到的一个字符串,我认为它运行良好。

更新: 代码抛出异常:

local class incompatible: stream classdesc serialVersionUID = 1360826667802527544, local class serialVersionUID = 1360826667806852920

在堆栈跟踪中有一些关于我的对象中某些属性的Integer类型的内容。请原谅我的新手..:|

1 个答案:

答案 0 :(得分:1)

在try catch之前定义它:

MyOwnObject deserializedObject = null;

在try / catch中,确保删除声明,并将其更改为:

deserializedObject = (MyOwnObject)ois.readObject();