idea如何自动生成serialVersionUID
这篇文章主要介绍了idea如何自动生成serialVersionUID,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
当我们用IntelliJIDEA编写类并实现Serializable(序列化)接口的时候,可能会遇到这样一个问题,那就是:
无法自动生成serialVersionUID.
而serialVersionUID又是一个非常重要的字段,因为Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
一般来说,定义serialVersionUID的方式有两种,分别为:
采用默认的1L,具体为privatestaticfinallongserialVersionUID=1L;
根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,例如privatestaticfinallongserialVersionUID=XXXL;
而Java类进行序列化也两个主要目的,分别为:
把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
在网络上传送对象的字节序列。
在这里,我们就一起来看看如何利用IntelliJIDEA自动生成serialVersionUID.
第1步:安装GenerateSerialVersionUID插件,在这里,选择Plugins,并搜索GenerateSerialVersionUID,如果没有发现此插件,则可以点击Searchinrepositories进行搜索,我目前是已经安装状态,所以下面显示的是uninstall,如果你未装过,则显示install,点击install按钮就可完成安装。
第2步:设置Inspections功能
如上图所示,进入DefaultSettings,在Inspections设置页面中,勾选Serializableclasswithout'serialVersionUID',并且还可以在Severity中设置提示级别,如Warning、Error等,默认为Warning,也建议选择Warning级别的提示。
创建一个类并实现Serializable接口,然后按alt+insert键,即可收到提示,然后选择SerialVersionUID:
如上图所示,显然我们已经利用IntelliJIDEA中自动生成serialVersionUID啦!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。