对于实现了java.io.Serializable接口的实体类来说,往往都会手动声明serialVersionUID,因为只要你实现了序列化,java自己就会默认给实体类加上一个serialVersionUID。

java默认添加的serialVersionUID是会根据实体类的成员(成员变量,成员方法)变化而变化的。

为什么要显示声明一个serialVersionUID呢?

当我们把实体类序列化到本地后,如果实体类的成员发生了变化,默认添加的serialVersionUID就会发生变化。此时硬盘上序列化对象的serialVersionUID与实体类中的serialVersionUID对不上,就会反序列化失败爆出异常:

Exception in thread “main” java.io.InvalidClassException: Person; local class incompatible: stream classdesc serialVersionUID = 8383901821872620925, local class serialVersionUID = -763618247875550322

所以,通常对于实现了SerialVersionUID接口的实体类来说,都会手动声明serialVersionUID。

private static final long serialVersionUID = 1L;

通过上述代码即可实现。

												

最新文章

  1. bzoj3743: [Coci2015]Kamp
  2. Linux:安装OpenSSH-Server E:Package openssh-server has no installation candidate
  3. onNewIntent调用时机
  4. 20 Free Open Source Web Media Player Apps
  5. page-object使用(1)
  6. 2015第35周五JavaScript变量
  7. mini2440裸机试炼之——DMA直接存取 实现Uart(串口)通信
  8. Apache与Tomcat区别联系
  9. oracle expdp导出远程数据到本地
  10. POJ 3463 最(次)短路条数
  11. 从壹开始微服务 [ DDD ] 之十二 ║ 核心篇【下】:事件驱动EDA 详解
  12. Python方法和属性的动态绑定 --面向对象
  13. codeforces509B
  14. 写的一个ORACLE存储过程小练习
  15. Vision GUI programming products
  16. html A标签 绑定点击事件。跳转页面。处理
  17. python 标准输入输出sys.stdout. sys.stdin
  18. tcpdump一个命令的剖析
  19. [WEB面试题] web前端面试题JavaScript第一弹,个人整理部分面试题汇总
  20. 【原创】Spring 注入方式

热门文章

  1. SSAS(SQL Server 分析服务)、***S(SQL Server报表服务)、SSIS(SQL Server集成服务)
  2. python3 计算文件夹中所有py文件里面代码行数,注释行数,空行数
  3. STM32L0 HAL库 IO读写功能
  4. height()、innerHeight()、outerHeight()函数的区别详解
  5. python核心编程3-13
  6. Demo Nec
  7. RabbitMQ之Exchange
  8. MATLAB卷积运算(conv、conv2)解释
  9. JS高阶函数的理解(函数作为参数传递)
  10. cocos2d-x3.0rc打包apk遇到的一些问题记录