`
sbfivwsll
  • 浏览: 59208 次
  • 性别: Icon_minigender_1
  • 来自: 四川
社区版块
存档分类
最新评论

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

 
阅读更多

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

 

  1. 先写如上的代码,调用writeObject方法将这个对象序列化。
  2. 先别急着调用反序列化,为Bean类新增加一个属性b,编译类。
  3. 调用readObject方法进行反序列化,这时就会看到如下的提示:

     

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

    若我们一开始就为Bean添加一个serialVersionUID值,那不管如何修改Bean类反序列化都没有问题了,因此在对一个java bean实现序列化接口时,为其添加一个serialVersionUID值是非常有必要的(eclipse/myeclipse可以自己生成该值)。

  • 大小: 82.9 KB
  • 大小: 17.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics