Java的序列化的机制通过判断serialVersionUID来验证版本的一致性。在反序列化的时候与本地的类的serialVersionUID进行比较,一致则可以进行反序列化,不一致则会抛出异常InvalidCastException。如果使用idea开发工具,在类实现java.io.Serializable接口时,如何自动自动生成serialVersionUID,下面就来介绍下

新建一个测试的实体类Gradle,实现java.io.Serializable接口,选择类名,按Alt+Enter键,出现的提示框中没有生成serialVersionUID的提示,这个需要设置之后才会有自动生成的提示信息

Intellij idea自动生成serialVersionUID_Java

打开File菜单,选择Settings选项,打开Settings设置对话框

Intellij idea自动生成serialVersionUID_Java_02

左边树形目录,打开Editor》Inspections

Intellij idea自动生成serialVersionUID_Java_03

在右边的搜索框中输入serialVersionUID关键字,出现以下选项,勾选"Serializable class without serialVersionUID"

Intellij idea自动生成serialVersionUID_Java_04

光标放在类名上,再次按Alt+Enter键,这个时候可以看到"Add serialVersionUID field"提示信息

Intellij idea自动生成serialVersionUID_Java_05

点击可以自动生成serialVersionUID

private static final long serialVersionUID = 2552429215424205489L;

Intellij idea自动生成serialVersionUID_Java_06

注:辅助的工具使用恰当,可以帮助我们提升工作效率,对于这样的功能要结合自己的使用习惯进行配置,可以事半功倍