之所以要设置这个是因为当在将对象进行序列化和反序列化时,如果不设置serialVersionUID
,在序列化、反序列化时会根据对象内的字段来自动生成serialVersionUID
,如果对象中新增加了一个字段那么serialVersionUID
将会生成一个新的值,会导致原来在序列化后保存的数据在反序列化到对象时因为serialVersionUID
不一致导致失败。如果自己给对象中设置好serialVersionUID
后,给对象新增一个字段后再进行反序列化时serialVersionUID
是一致的不会报错,只是新增的字段为空。这里设置idea自动生成serialVersionUID
是为了方便快速的生成serialVersionUID
。
- 打开
File -> Settings -> Editor -> Inspectinos
- 选择
Java -> Serialization issues -> Serializable class without 'serialVersionUID'
,将其勾选即可 - 效果如下图,光标移动到类上按
Alt+Enter