推广 热搜:   中国  公司  企业  服务  未来  设备  政策  行业  基金 

Serializable中为什么要设置UID

   日期:2024-11-03     作者:caijiyuan    caijiyuan   评论:0    移动:http://lanlanwork.gawce.com/mobile/news/9217.html
核心提示:1、什么是Java序列化与反序列化Java序列化是指把Java对象保存为二进制字节码的过程,Java反序列化是指把二进制码重新转换

1、什么是Java序列化与反序列化

Serializable中为什么要设置UID

Java序列化是指把Java对象保存为二进制字节码的过程,Java反序列化是指把二进制码重新转换成Java对象的过程。

2、为什么要序列化

  • 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中。
  • 在网络上传送对象的字节序列。
  • Android里面Activity之间对象传值。

3、如何实现序列化

4、未设置serialVersionUID,修改User类属性对应的UID发生变化,反序列化失败

如果我们把User实体添加属性private String address,User类对应的SerialversionUID也变化了,而序列化和反序列化就是通过对比其SerialversionUID来进行的,一旦SerialversionUID不匹配,反序列化就无法成功,当我修改属性执行反序列化时会报以下异常

java.io.InvalidClassException: com.hy.android.bean.User; local class incompatible: stream classdesc serialVersionUID = -6719585433480520072, local class serialVersionUID = -2385832899578140463

5、设置serialVersionUID后,修改类改User类属性,反序列化成功


本文地址:http://lanlanwork.gawce.com/news/9217.html    阁恬下 http://lanlanwork.gawce.com/ , 查看更多
 
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号