栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java序列化-java.io.InvalidClassException本地类不兼容

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java序列化-java.io.InvalidClassException本地类不兼容

@DanielChapman很好地解释了serialVersionUID,但没有解决方案。解决方法是:

serialver
在所有
类上运行该程序。将这些
serialVersionUID
值放在 当前
的类版本中。只要当前的类与旧版本在串行上兼容,就可以了。(注意以后的代码: 所有 类上都应 始终 有一个)
serialVersionUID

__
Serializable


如果新版本与序列 兼容,那么您需要对自定义

readObject
实现做一些魔术(仅
writeObject
当您尝试编写与旧代码兼容的
类数据时才需要自定义)。一般来说,添加或删除类字段不会使类序列不兼容。更改现有字段的类型通常会。

当然,即使新类
串行兼容,您仍可能需要自定义

readObject
实现。如果您要填写从旧版本的类中保存的数据中缺少的任何新字段,则可能需要这样做(例如,您有一个新的List字段,要在加载旧的类数据时将其初始化为空列表)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407009.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号