温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

IntelliJ IDEA中如何自动生成serialVersionUID

发布时间:2021-08-04 14:03:28 来源:亿速云 阅读:613 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关IntelliJ IDEA中如何自动生成serialVersionUID的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

serialVersionUID介绍

再编程过程中当涉及到对象的传输问题时,我们会采用序列化的技术,通过序列化可以将对象的状态信息转换为可以存储或传输的形式的过程。在Java当中我们可以通过实现Serializable接口来序列化对象,而serialVersionUID就是Java序列化机制中一个不可或缺的角色,可以通过在运行时判断类的serialVersionUID来验证版本一致性。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。

当我们用 IntelliJ IDEA 编写类并实现 Serializable(序列化)接口的时候,可能会遇到这样一个问题,那就是:

无法自动生成serialVersionUID.

serialVersionUID又是一个非常重要的字段,因为 Java 的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM 会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。

一般来说,定义serialVersionUID的方式有两种,分别为:

  1. 采用默认的1L,具体为private static final long serialVersionUID = 1L;

  2. 根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,例如 private static final long serialVersionUID = XXXL;

而 Java 类进行序列化也两个主要目的,分别为:

  1. 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;

  2. 在网络上传送对象的字节序列。

在这里,我们就一起来看看如何利用 IntelliJ IDEA 自动生成serialVersionUID.

第 1 步:安装GenerateSerialVersionUID插件

IntelliJ IDEA中如何自动生成serialVersionUID

如上图所示,点击Preferences,进入如下界面:

IntelliJ IDEA中如何自动生成serialVersionUID

在这里,选择Plugins,并搜索GenerateSerialVersionUID,如果没有发现此插件,则可以点击Search in repositories进行搜索:

IntelliJ IDEA中如何自动生成serialVersionUID

如上图所示,点击install,即可安装此插件。

第 2 步:设置Inspections功能

IntelliJ IDEA中如何自动生成serialVersionUID

如上图所示,进入Default Settings,在Inspections设置页面中,勾选Serializable class without 'serialVersionUID',并且还可以在Severity中设置提示级别,如WarningError等,默认为Warning,也建议选择Warning级别的提示。

IntelliJ IDEA中如何自动生成serialVersionUID

如上图所示,创建一个类并实现Serializable接口,然后按alt+Enter键,即可收到提示,然后选择SerialVersionUID

IntelliJ IDEA中如何自动生成serialVersionUID

如上图所示,显然我们已经利用 IntelliJ IDEA 中自动生成serialVersionUID啦!

感谢各位的阅读!关于“IntelliJ IDEA中如何自动生成serialVersionUID”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI