为什么要使用 serialVersionUID
serialVersionUID
适用于
Java的序列化机制
。
Java
的序列化机制是通过判断类的
serialVersionUID
来验证版本一致性的。在进行反序列化时,
JVM
会把传来的字节流中的
serialVersionUID
与本地相应实体类的
serialVersionUID
进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是
InvalidCastException
。
生成 serialVersionUID 的方式
serialVersionUID
有两种生成方式
1⃣️
private static final long serialVersionUID = 1L;
2⃣️
根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段
通过实现
Serializable
接口
如何在 IDEA 中生成类的 serialVersionUID
以 MAC 💻 为例
1⃣️
打开 IDEA 的
Preferences
或 快捷键
Command + ,
2⃣️
搜索框 🔍 输入
Inspections
,在
Inspections
搜索框 🔍 中输入
Serializable '
并将后面的选择框 ☑️
在类中如何操作
1⃣️
实现
implements Serializable
接口
2⃣️
将鼠标🖱️ 光标放在类名上,快捷键
Alt + Enter
进行生成
3⃣️
完事!