java序列化serialVersionUID-的作用-代碼詳解
1.操作環境
JDK8
lombok-1.18.10
2.serialVersionUID的作用
在反序列化時,避免InvalidClassException
3.代碼演示
3.1.反序列化-正常
3.1.1一個不存在 serialVersionUID 的實體類,共 ( name1 name2 age1 age2 ) 四個屬性
3.1.2.將對象序列化後存儲到 “序列化.txt文件”中
查看文件內的信息
3.1.3.執行反序列化操作,把文件內的信息轉成對象
3.2.反序列化-異常-InvalidClassException
**3.2.1.異常出現–註釋掉實體類中的兩個屬性 name1 age1,然後執行反序列化會是什麼樣呢?
會拋出 InvalidClassException
3.3.反序列化-異常解決-添加serialVersionUID
3.3.1.在實體類中 添加 private static final long serialVersionUID = 1L;
添加 UID後重復 3.1 和 3.2 的操作,會發現異常消失,並且註釋的屬性會自動清除,新增的屬性會進行賦空值操作
執行序列化對象操作,並將信息保存到文件
查看文件內的信息
尚未修改實體類,此時進行反序列化操作,查看輸出信息
修改實體類,註釋掉 name1 age1 新增屬性 nage3 age3
修改實體類後,反序列化查看輸出信息
【代碼地址】
白嫖不點贊嗎.........