IDEA生成serialVersionUID的方法图文详解

 更新时间:2023年11月15日 15:06:06   作者:Vladimirzzzzz  
Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的,下面这篇文章主要给大家介绍了关于IDEA生成serialVersionUID的相关资料,需要的朋友可以参考下

序列化和反序列化

Java是面向对象的语言,与其他语言进行交互(比如与前端js进行http通信),需要把对象转化成一种通用的格式比如json(前端显然不认识Java对象),从对象到json字符串的转换,就是序列化的过程,反过来,从json字符串转换成Java对象,就是反序列化的过程。

serialVersionUID是什么

反序列化的过程,需要从一个json字符串生成一个Java对象。

Gson gson = new Gson();
Request req = gson.fromJson("request string", Request.class)

这时候会有问题,需要验证输入的json字符串是否是从当前的Request这个类序列化过去的,serialVersionUID就是用来干这个的。当序列化的时候的serialVersionUID与反序列化的时候的serialVersionUID不一致的时候,会跑出InvalidCalssException。 

====================================================================

具体的序列化过程是这样的:序列化操作的时候系统会把当前类的serialVersionUID写入到序列化文件中,当反序列化时系统会去检测文件中的serialVersionUID,判断它是否与当前类的serialVersionUID一致,如果一致就说明序列化类的版本与当前类版本是一样的,可以反序列化成功,否则失败。

生成 serialVersionUID 

1.首先实现类需要实现Serializable接口

2.点击File--> settings,在settings的搜索框搜索serializable,然后在一以下两个地方打上勾

3.最后选中要生成serialVersionUID的类的类名,按住Alt+Enter即可生成

总结

到此这篇关于IDEA生成serialVersionUID的文章就介绍到这了,更多相关IDEA生成serialVersionUID内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java多线程下载实例详解

    java多线程下载实例详解

    这篇文章主要介绍了java多线程下载,结合实例形式详细分析了Java多线程文件传输的原理与多线程下载的相关实现技巧,需要的朋友可以参考下
    2015-12-12
  • Java8 如何正确高效的使用并行流

    Java8 如何正确高效的使用并行流

    这篇文章主要介绍了Java8 如何正确高效的使用并行流,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • 使用MyBatis拦截器实现sql查询权限动态修改代码实例

    使用MyBatis拦截器实现sql查询权限动态修改代码实例

    这篇文章主要介绍了使用MyBatis拦截器实现sql查询权限动态修改代码实例,为了不耦合,现在的方案是在需要鉴权的Mybatis Mapper方法上增加一个注解,在运行过程中判断该注解存在即对sql进行修改,需要的朋友可以参考下
    2023-08-08
  • java发起http请求获取返回的Json对象方法

    java发起http请求获取返回的Json对象方法

    下面小编就为大家分享一篇java发起http请求获取返回的Json对象方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Java中值传递和引用传递的区别

    Java中值传递和引用传递的区别

    这篇文章主要介绍了Java中值传递和引用传递的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • IDEA中实体类(POJO)与JSON快速互转问题

    IDEA中实体类(POJO)与JSON快速互转问题

    这篇文章主要介绍了IDEA中实体类(POJO)与JSON快速互转,本文通过图文实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Java基本数据类型之间的相互转换详解

    Java基本数据类型之间的相互转换详解

    这篇文章主要讲解Java中基本数据类型的转换,数据之间相互转换是经常会用到的基础操作,文中讲的很清晰,希望能给大家做一个参考。
    2022-05-05
  • Java基础知识精通循环结构与break及continue

    Java基础知识精通循环结构与break及continue

    循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环,选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程
    2022-04-04
  • Java的静态方法Arrays.asList()使用指南

    Java的静态方法Arrays.asList()使用指南

    Arrays.asList() 是一个 Java 的静态方法,它可以把一个数组或者多个参数转换成一个 List 集合,这个方法可以作为数组和集合之间的桥梁,方便我们使用集合的一些方法和特性,本文将介绍 Arrays.asList() 的语法、应用场景、坑点和总结
    2023-09-09
  • SpringBoot2.4.2下使用Redis配置Lettuce的示例

    SpringBoot2.4.2下使用Redis配置Lettuce的示例

    这篇文章主要介绍了SpringBoot2.4.2下使用Redis配置Lettuce,Springboot2.4.2下默认使用的就是Lettuce而不是Jedis因此无需在依赖进行排除Jedis,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2022-01-01

最新评论