IDEA自动生成serialVersionUID

Java类中 serialVersionUID 的作用 

serialVersionUID适用于Java的序列化机制:判断类的serialVersionUID来验证版本一致性的

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


IDEA打开自动生成serialVersionUID步骤

File --> Settings --> Editor --> Inspections 

然后搜索UID,勾上Serializable class without 'serialVersionUID',右下方的Severity复选框选择Error,点击Apply、确定即可

 之后我们再创建类,并实现Serializable接口后,类名就会报红,此时将光标放 类名 上,按Alt+Enter或Ctrl+1就会自动生成 serialVersionUID,如下效果图:

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
idea是一款常用的Java开发工具,在创建Java类的时候,经常需要为这个类生成serialversionuidserialversionuidJava序列化机制中的一个重要元素,它作为一个版本号的标识符,用于决定一个类是否与序列化对象的版本相同,从而在反序列化时保证对象的正确性。生成serialversionuid可以避免序列化时出现“InvalidClassException”异常。 在idea中,生成serialversionuid很简单,有两种方法: 一、使用IDEA自带工具生成serialversionuid 在类声明之前,点击menu栏上的“Code”,在下拉菜单中选择“Generate”然后选择“Serial Version UID”,然后在弹出窗口中选择“Java Serialization”和“SerializableClassWithoutDeclaredSerialVersionUID”,然后点击“OK”即可生成serialversionuid。 二、手动生成serialversionuid 在类声明之前,添加一个serialVersionUID字段,其值为1L或者自己定义的一个long类型数值。例如: private static final long serialVersionUID = 1L; 或者 private static final long serialVersionUID = -7041806266770338685L; 其中,-7041806266770338685L 是通过Java专用公式计算出来的,使用自定义值的好处是可以通过更改该值来指定序列化版本。 总之,只要选择一种方法,使用idea生成serialversionuid都是非常简单的。这样可以让Java序列化机制更加完善,提高Java程序的稳定性和可靠性,避免出现打开文件为空、数据错误等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

healthLau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值