详述 IntelliJ IDEA 中自动生成 serialVersionUID 的方法_CG国斌的博客-程序员宝宝

技术标签: UID  序列化  史上最简单的 IntelliJ IDEA 教程  idea  

当我们用 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插件

1

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

2

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

3

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

第 2 步:设置Inspections功能

4

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

5

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

6

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


———— ☆☆☆ —— 返回 -> 史上最简单的 IntelliJ IDEA 教程 <- 目录 —— ☆☆☆ ————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35246620/article/details/77686098

智能推荐

application.yml Spring配置文件详解_南京大学软工研究生的博客-程序员宝宝_application.yml spring

server: port: 8088spring: profiles: active: dev application: name: my-springsecurity-plus datasource: driver: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/my_springsecurity_plus?serverTimezone=As

几个容器网络相关问题的分析和解决总结_华为云开发者联盟的博客-程序员宝宝_网络容器中没有可作为要素源添加的要素类

【摘要】 网络/容器网络因为其本身的复杂性,以及很多侧重软件开发的童鞋并不熟悉网络,导致和网络/容器网络相关问题的定位、分析和解决都比较困难,很多时 候有无从下手之感。我对最近、再加上以前参与处理了的几个网络/容器网络相关的问题,总结如下,希望能给遇到类似的问题的童鞋一点启发。目录1. 目标主机上没有到源主机的路由,导致ping包没有返回 - route2. Pod可以跨节点访问doc...

Httprunner系列(二):环境准备_曼 曼的博客-程序员宝宝

文章目录一、下载python二、配置python环境变量1、 配置python环境2、 验证是否配置好python环境三、安装httprunner1、安装httprunner2、验证httprunner四、安装allure报告插件1、下载allure插件:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.2/2、配置allure环境变量3、pip命令安装allure插件一、下载python《1》去官

C#:EXCEL Quit后,EXCEL.EXE进程未退出的情况_小鸿1983的博客-程序员宝宝_excel.quit没有杀掉进程

using EXCEL=Microsoft.Office.Interop.Excel;private void Form1_Load(object sender, EventArgs e){ EXCEL.Application app = new EXCEL.Application(); EXCEL.Workbooks wbs = app.Workbooks; EXCEL.Workbook wb = wbs.Add(); wb.Close(false); app.Quit(); Sys.

driud和JDBCTemplate问题:java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessException_阿隆兄的博客-程序员宝宝

错误描述:&nbsp;java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessException解决方案:在正确路径下建立 lib 包。路径为:WEB-INF 目录下的 lib 目录,目录名不能写成别的,加个 s 都不行。

随便推点

libevent笔记 - 编译依赖_字正腔圆的博客-程序员宝宝_libevent依赖

1. zlib 1.2.112. perl 编译openssl的依赖3. nasm编译openssl的依赖4.openssl 1.1.1 //perl Configure VC-WIN32....5. libevent 2.1.8 //ssl cryto

java不是内部或外部命令_verystrongsnow的博客-程序员宝宝

概述:在命令行输入java -version,提示“java不是内部或外部命令” 改了几个地方仍然不行,在命令行输入path查看此环境变量的值,发现压根没有jdk字眼出现,又重新改,仍然不行,最后去oracle的网站看,看到这句:The new path takes effect in each new command window that you open after setting t...

ACL2021 | CMU和北邮联合提出的DualGCN在基于Aspect的情感分析任务上达到了SOTA_zenRRan的博客-程序员宝宝

每天给你送来NLP技术干货!单位:北京邮电大学、卡内基梅隆大学录取:ACL2021链接:https://aclanthology.org/2021.acl-long.494.pdf提取摘要...

thinkphp5操作redis系列教程 ---集合篇_z_c_z_的博客-程序员宝宝

1.集合类型之sAdd,sPop /** * 注意:set集合中不允许出现重复元素 */ // sAdd() 添加一个元素到set集合中 $redis-&gt;sAdd('k1','m1'); $redis-&gt;sAdd('k1','m2'); $redis-&gt;sAdd('k1...

WatchKit编程指南_莯滢 (AKA:滢姐)的博客-程序员宝宝

自从三月份苹果发布会 iWath正式发布以后,关于iWatch开发也开始受广大程序猿们关注  今天偶然看到这篇文章,记下来看看,不过是较早的关于WatchKit的,如果程序猿哥哥们 程序媛姐姐们 有关于最新的中文版 可不可以发个私信 。。。。。。本章节由CocoaChina翻译组成员星夜暮晨(博客)翻译自WatchKit Programming Guide:Overview--De

Leetcode226. 翻转二叉树(递归、迭代、层序三种解法)_拾牙慧者的博客-程序员宝宝

1、层序法:层序遍历,然后将同一层的所有结点的左右孩子交换/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:

推荐文章

热门文章

相关标签