说明
Java的序列化的机制通过判断serialVersionUID来验证版本的一致性。在反序列化的时候与本地的类的serialVersionUID进行比较,一致则可以进行反序列化,不一致则会抛出异常InvalidCastException。如果使用idea开发工具,在类实现java.io.Serializable接口时,如何自动自动生成serialVersionUID,下面就来介绍下
新建class,继承Serializable
新建一个测试的实体类,实现java.io.Serializable接口,选择类名,按Alt+Enter键,出现的提示框中没有生成serialVersionUID的提示,这个需要设置之后才会有自动生成的提示信息
设置Setting
打开File菜单,选择Settings选项,打开Settings设置对话框
打开Inspections
左边树形目录,打开Inspections
勾选"Serializable class without serialVersionUID"
在右边的搜索框中输入serialVersionUID关键字,出现以下选项,勾选"Serializable class without serialVersionUID"
生成serialVersionUID
光标放在类名上,再次按Alt+Enter键,这个时候可以看到"Add serialVersionUID field"提示信息