IDEA自动生成serialVersionUID

来源:互联网 发布:rocketdock mac皮肤 编辑:程序博客网 时间:2024/06/05 07:25
  • serialVersionUID的作用

    简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。(InvalidCastException).因为当你的修改了你的类(属性和方法),那么你当前类的默认SerialVersionUID(local class serialVersionUID)就会改变,和你以前序列化到本地的SerialVersionUID( stream classdesc serialVersionUID )不同,那么你这时候反序列就会出错!抛出异常java.io.InvalidClassException!

  • IDEA自动生成SerialVersionUID

    File->Setting->Editor->Inspections->Serialization issues->Serializable class without ’serialVersionUID’ ->勾选操作。下面是图解如下:

    这里写图片描述

设置好之后,当创建一个类并实现Serializable之后,在你的类名上会有警告:Alt+Enter就会提示自动创建serialVersionUID。

原创粉丝点击