问题描述
今天遇到序列化问题的时候,需要用到 serialVersionUID 字段,如下。但是不知道如何快速自动生成这个,于是有了这篇博客,哈哈哈
private static final long serialVersionUID = 6828716364537510652L;
解决方案
首先如图所示,在 IDEA 配置好,打勾
然后在创建一个类时,如果实现了 Serializable 接口,或者继承是实现了 Serializable 接口的父类
public class Xxx implements Serializable {...}
接着,在 Xxx 处,快捷键操作(Alt + Enter)会有提示(注意是在类名上点,而不是在后面的接口或者父类上点)
附加
serialVersionUID 是什么?
Java的serialVersionUID是序列化版本号,起着关键作用,它决定了能否成功反序列化。
Java 的序列化机制是通过在运行时判断类的 serialVersionUID 来验证版本一致性的。在进行反序列化时,JVM 会把传入的字节流中的 serialVersionUID 与本地实体类中的 serialVersionUID 进行比较,如果相同则认为是一致的,可以进行反序列化,否则就会跑出序列化版本不一致异常。