Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的,在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常InvalidCastException
今天在实体类实现序列化生成UID时,出现无法自动生成的现象:
原因是一键生成UID还需要进行配置:
步骤:settings – Editor – Inspections – Serialization issues – Serializable class without ‘serialVersionUID’(勾选上应用加OK)
选中实体类类名按住Alt+Enter,选择条目,即可生成serialVersionUID,如图: