当咱们用 IntelliJ IDEA 编写类并实现 Serializable(序列化)接口的时候,可能会遇到这样一个问题,那就是:网络
而serialVersionUID
又是一个很是重要的字段,由于 Java 的序列化机制是经过在运行时判断类的serialVersionUID
来验证版本一致性的。在进行反序列化时,JVM 会把传来的字节流中的serialVersionUID
与本地相应实体(类)的serialVersionUID
进行比较,若是相同就认为是一致的,能够进行反序列化,不然就会出现序列化版本不一致的异常。spa
通常来讲,定义serialVersionUID
的方式有两种,分别为:插件
private static final long serialVersionUID = 1L;
64
位的哈希字段,例如 private static final long serialVersionUID = XXXL;
而 Java 类进行序列化也两个主要目的,分别为:3d
在这里,咱们就一块儿来看看如何利用 IntelliJ IDEA 自动生成serialVersionUID
.code
第 1 步:安装GenerateSerialVersionUID插件对象
如上图所示,点击Preferences
,进入以下界面:blog
在这里,选择Plugins
,并搜索GenerateSerialVersionUID
,若是没有发现此插件,则能够点击Search in repositories
进行搜索:接口
如上图所示,点击install
,便可安装此插件。get
第 2 步:设置Inspections功能it
如上图所示,进入Default Settings
,在Inspections
设置页面中,勾选Serializable class without 'serialVersionUID'
,而且还能够在Severity
中设置提示级别,如Warning
、Error
等,默认为Warning
,也建议选择Warning
级别的提示。
如上图所示,建立一个类并实现Serializable
接口,而后按alt
+Enter
键,便可收到提示,而后选择SerialVersionUID
:
如上图所示,显然咱们已经利用 IntelliJ IDEA 中自动生成serialVersionUID
啦!
下期预告:IntelliJ IDEA提交代码前的 Code Analysis 机制