IDEA怎么自动生成serialVersionUID

转载自:https://blog.csdn.net/hetongun/article/details/81904393

序列化和反序列化

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

serialVersionUID是什么

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

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

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

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

如何生成

首先我们会实现接口,那么如何自动生成serialVersionUID呢。

1、没有设置之前,选中对应的类名,然后按 alt+enter 快捷键 的情况如下所示

2、设置自动生成 serialVersionUID 的方式如下图所示

3、设置之后,选中对应的类名,然后按 alt+enter 快捷键 的情况如下所示

4、点击就可以自动生成了。

原文地址:https://www.cnblogs.com/FengZeng666/p/12484519.html