serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性. 如果你修改代码重新部署后出现序列化错误,可以考虑给相应的类增加serialVersionUID字段. 一般来说有两种生成方式: 一个是默认的1L,比如:private static final long serialVersionUID = 1L; 一个是根据类名.接口名.成员方法及属性等来生成一个64位的哈希字段,比如:private static final long
ntellij idea用快捷键自动生成序列化id 类继承了Serializable接口之后,使用alt+enter快捷键自动创建序列化id 进入setting→inspections→serialization issues→选择 serializable class without ‘serialVersionUID’
背景: 实现Serializable接口的类,没有提示生成序列化ID 解决问题: 1.FIle->Settings->Editor->inspections 2.点击java->Serialization issues,勾选Serialization class without 'serialVersionUID' 3.实现序列化接口的类,鼠标放在类名上或者alt+enter,添加序列化ID 3.1 鼠标放在类名上,点击Add 'SerialVersionUID' field 3.
完整操作流程:Setting->Editor->Inspections->Java->Serialization issues->Serializable class without ‘serialVersionUID’(选择勾上) 配置完成后,如果你的Class实现了Serializable接口,那么将光标停留在类名上,然后按Alt+Enter就会提示自动创建serialVersionUID了.
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt228 以前在使用hibernate时候,domain域模型的JavaBean总提示实现序列化接口,生成序列化得ID:static final long serialVersionUID = 42L;不明白是什么意思.今天在网上查了查有点明白了. 序列化是什么:序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得.序列化分为两大部分:序列化和反序列化.序列