当前页面: 开发资料首页 → J2SE 专题 → 序列化的问题
序列化的问题
摘要: 序列化的问题
写了个类,implements Serializable支持序列化,在使用中把该类的对象序列化到文件中。然后在适当的时候读取该文件反序列化来获取该类对象。
疑问是:假如类中增加或删除了一些属性,即类结构变了。是否还能反序列化成功。该如何解决
应该不能 没试过
学习
楼主可否说下你为什么会疑问是否还能Deserializable的原因么?我觉得还可以Deserializable,但是这时取回的对象可能无法使用,因为在序列化过程中,写入的是原始对象的一个copy,仅改变类结构,而没改类名的话,应该还是可以按照原先的型别将对象取回,但是如果在使用取回的对象的时候,可能会发生异常。以上是我个人理解,不正之处请指正。
以前看过类似的文档,苦于找不到了
不一定要找文档啊,呵呵,可是实践一下,但是这我就帮不上你了,对于将对象序列化到文件,如何保存,我不了解,期待高手吧。
或许可以。
deserialize过程中reflector应该是把文件中字段与当前类字段一一对应起来,找不到的忽略,当然也可能直接抛出异常。
你的类有这个吗?
/**
* The class fingerprint that is set to indicate
* serialization compatibility with a previous
* version of the class.
*/
static final long serialVersionUID = -3617482732056931635L;
有了基本可以,你再查下注意事项
序列化/反序列化 听说是RMI时候用的?
学习中...
谢谢zhmt(孜风)
正是这个