自动生产序列ID
实体类继承 java.io.Serializable后,需要设置序列化ID,java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地实体类中的serialVersionUID进行比较,如果相同则认为是一致的,便可以进行反序列化,否则就会报序列化版本不一致的异常。而IDEA,默认是不支持自动生成序列化ID的(我使用的是IDEA2017版本)。
如上图所示,我们首先打开设置面板:File > Settings,然后定位到Editor > Inspections,找到Java选项,然后点开Serialization issues,然后找到Serializable class without serialVersion,勾选,然后点击Apply应用即可。
我们新建一个SerialIDTest类进行测试,新建之后让该类实现Serializable接口,然后键盘按Alt+Enter键,弹出如下窗口:
鼠标点击Add ‘SerialVersion’ field或者直接回车即可自动生成序列化ID,如下效果图:
如果你喜欢本文或者本文对你有所帮助,请进入我的官方个人博客:呆萌钟,给我一个小小的赞,谢谢~
由于简书无法上传图片,请进入我的官方个人博客:呆萌钟查看原文,谢谢
网友评论