参考答案
可序列化对象定义serialversionUID值的原因:
- SerialVersionUid 是为了序列化对象版本控制,告诉 JVM 各版本反序列化时是否兼容;
- 如果在新版本中这个值修改了,新版本就不兼容旧版本,反序列化时会抛出InvalidClassException异常;
- 仅增加了一个属性,希望向下兼容,老版本的数据都保留,就不用修改;
- 删除了一个属性,或更改了类的继承关系,就不能不兼容旧数据,这时应该手动更新 SerialVersionUid。
以上,是Java面试题【可序列化对象要定义serialversionUID值的原因是什么】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—