您的位置:首页 > 编程语言 > Java开发

在Java中正确实现可序列化接口(Serializable)

2010-11-23 23:35 561 查看
通常我们对一个bean的类进行可序列化实现时,一般都只继承了可序列化接口,而没有添加serialVersionUID属性,这样会引发后续的问题:



先写如上的代码,调用writeObject方法将这个对象序列化。

先别急着调用反序列化,为Bean类新增加一个属性b,编译类。

调用readObject方法进行反序列化,这时就会看到如下的提示:


看到了吧,和serialVersionUID有关,在重新编码后,Bean类的serialVersionUID属性变了,因为编译器会重新生成一个serialVersionUID值,与原来的值不一致,再去反序列化原有的对象时就会出错。

若我们一开始就为Bean添加一个serialVersionUID值,那不管如何修改Bean类反序列化都没有问题了,因此在对一个java bean实现序列化接口时,为其添加一个serialVersionUID值是非常有必要的(eclipse/myeclipse可以自己生成该值)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java bean 编译器
相关文章推荐