Eclipse警告:The serializable class XXX does not declare a static final serialVersionUID field of type long

时间:2023-03-09 00:04:01
Eclipse警告:The serializable class XXX does not declare a static final serialVersionUID field of type long

serialVersionUID作用: 
序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。

在Eclipse中可以自动生成,有两种生成方式: 
一个是默认的1L,比如:private static final long serialVersionUID = 1L; 
一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:private static final long serialVersionUID = -8940196742313994740L。

当你一个类实现了Serializable接口,如果没有定义serialVersionUID,Eclipse会提供这个提示功能告诉你去定义它。 
如果不想定义它,在Eclipse的设置中将其关掉,设置如下: 
Window ==> Preferences ==> Java ==> Compiler ==> Error/Warnings ==> Potential programming problems 
将Serializable class without serialVersionUID的warning改成ignore即可。