zoukankan      html  css  js  c++  java
  • 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插件,在这里,选择Plugins,并搜索GenerateSerialVersionUID,如果没有发现此插件,则可以点击Search in repositories进行搜索,我目前是已经安装状态,所以下面显示的是uninstall,如果你未装过,则显示install,点击install按钮就可完成安装。

    第 2 步:设置Inspections功能

     

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

    创建一个类并实现Serializable接口,然后按alt+insert键,即可收到提示,然后选择SerialVersionUID:

     

    如上图所示,显然我们已经利用 IntelliJ IDEA 中自动生成serialVersionUID啦!
    ---------------------
    原文:https://blog.csdn.net/qq_35246620/article/details/77686098

  • 相关阅读:
    冲刺第九天
    冲刺第八天
    寻找小水王
    冲刺第七天
    冲刺第六天
    冲刺第五天
    寻找水王程序二
    学习进度条(第十二周)
    寻找水王程序一
    学习进度条(第十一周)
  • 原文地址:https://www.cnblogs.com/alice-cj/p/10481602.html
Copyright © 2011-2022 走看看