为什么要使用 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⃣️
完事!
网友评论