【注意】Java序列化serialVersionUID问题

来源:互联网 发布:淘宝手机店 编辑:程序博客网 时间:2024/06/06 00:07

Java序列化serialVersionUID问题

当没有显式地定义serialVersionUID变量时,Java序列化机制会根据编译的class(它通过类名,方法名等诸多因素经过计算而得,理论上是一一映射的关系,也就是唯一的)自动生成一个serialVersionUID作序列化版本比较用。
这种情况下,如果class文件(类名,方法名等)没有发生变化(增加空格,换行,增加注释,等等),就算再编译多次,serialVersionUID也不会变化的。但是一旦变化,如给类增加了方法、属性等,那么在反序列化时,就会出现序列化版本不一致的异常(InvalidCastException)!
原创粉丝点击