二十四、详述 IntelliJ IDEA 中自动生成 serialVersionUID 的方法
当我们用 IntelliJ IDEA 编写类并实现 Serializable(序列化)接口的时候,可能会遇到这样一个问题,那就是:
- 无法自动生成
serialVersionUID
.
而serialVersionUID
又是一个非常重要的字段,因为 Java 的序列化机制是通过在运行时判断类的serialVersionUID
来验证版本一致性的。在进行反序列化时,JVM 会把传来的字节流中的serialVersionUID
与本地相应实体(类)的serialVersionUID
进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
一般来说,定义serialVersionUID
的方式有两种,分别为:
- 采用默认的
1L
,具体为private static final long serialVersionUID = 1L;
- 根据类名、接口名、成员方法及属性等来生成一个
64
位的哈希字段,例如private static final long serialVersionUID = XXXL;
而 Java 类进行序列化也两个主要目的,分别为:
- 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
- 在网络上传送对象的字节序列。
在这里,我们就一起来看看如何利用 IntelliJ IDEA 自动生成serialVersionUID
.
第 1 步:安装GenerateSerialVersionUID
插件
如上图所示,点击Preferences
,进入如下界面:
在这里,选择Plugins
,并搜索GenerateSerialVersionUID
,如果没有发现此插件,则可以点击Search in repositories
进行搜索:
如上图所示,点击install
,即可安装此插件。
第 2 步:设置Inspections
功能
如上图所示,进入Default Settings
,在Inspections
设置页面中,勾选Serializable class without 'serialVersionUID'
,并且还可以在Severity
中设置提示级别,如Warning
、Error
等,默认为Warning
,也建议选择Warning
级别的提示。
如上图所示,创建一个类并实现Serializable
接口,然后按alt
+Enter
键,即可收到提示,然后选择SerialVersionUID
:
如上图所示,显然我们已经利用 IntelliJ IDEA 中自动生成serialVersionUID
啦!
转载自:http://blog.csdn.net/qq_35246620/article/details/77686098
最新文章
- ios动态创建类Class
- windows 代理服务器的搭建,提供Android 端访问公网.
- 理解GC日志
- 系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常
- python网络编程(六)---web客户端访问
- 批处理at命令--一切尽在计划中
- Emoji表情在网页中显示
- python 模块 DButils
- boot跳转到app后,中断不起作用的原因
- 基于Qt的图像处理技术和算法
- systemverilog.vim
- 线程锁(互斥锁Mutex)及递归锁
- 『TensorFlow』pad图片
- MySQL(十)操纵表及全文本搜索
- EF5.0区别于EF4.0的crud区别
- html5游戏之Box2d物理引擎集成
- mysql 给表和字段加注释
- mysql配置文件修改
- class 方法
- 中式台球 规则 ( ChinaBilliards )