local class incompatible异常解决

报错信息

java.io.InvalidClassException: xxx.xxx.xxx.xxx.xxx(类名); local class incompatible: stream classdesc serialVersionUID = -2229241455005882481(数字不同), local class serialVersionUID = -3552051822827161402(不同)

我在网上搜了一会说是序列化和反序列化的serialVersionUID啥的没有对于上,然后看了一会大概压根就没有看明白。

然后我就自己回去看了看代码,发现了一个致命的问题!

就是我在序列化对象之后,发现没有toString方法然后加了上去,然后再去反序列化。

我丢,这不报错才怪,这低级错误,我是找了半天没有发现和我一样情况所以发一下

你序列化对象之后,到你反序列化的时候你的对象是不能改变的!

然后重新试一下OK

同理,序列化的版本号与反序列化的版本号必须一致也是这个道理

private static final long serialVersionUID = 1;

你序列化的版本,以及对象类和版本号都必须和反序列化一致才不呢出错

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值