推广 热搜:   公司  快速  企业  中国    设备  行业  上海  未来 

修改serialVersionUID以解决InvalidClassException反序列化异常

   日期:2024-11-04     移动:http://zhiwen.bhha.com.cn/quote/397.html

前言

开发过程中某个类并没有指定serialVersionUID,并且该类是通过序列化存储在数据库中的,并没有转换为json存储,就导致在该类添加新字段之后,原来的数据不能进行反序列化,提示反序列化异常。

修改serialVersionUID以解决InvalidClassException反序列化异常

复现过程

创建测试类
写入序列化对象到文件
修改serialVersionUID
忽略serialVersionUID读取类信息
编写新读取方法
测试新读取方法

此致便完成了忽略serialVersionUID不一致,导致无法反序列化读取的问题。

治本之法

上次解决方案只是忽略serialVersionUID不一致来读取,不过每次都要使用CompatibleInputStream来读取,便有些麻烦,其实我们可以在解析之后,再将其写入到文件或数据库中,这样便不用每次使用CompatibleInputStream来读取了。

修该旧序列化数据的serialVersionUID
测试
本文地址:http://i.bhha.com.cn/quote/397.html    康宝晨 http://i.bhha.com.cn/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号