Java中的警告:The serializable class FirstApplet does not declare a static final,请问是啥错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的警告:The serializable class FirstApplet does not declare a static final,请问是啥错误?相关的知识,希望对你有一定的参考价值。

Java中的警告:The serializable class FirstApplet does not declare a static final,请问是什么错误?谢谢各位大侠啦。
程序可运行。
完整的警告:The serializable class FirstApplet does not declare a static final
serialVersionUID field of type long

那是Eclipse提供这个提示功能给你吧.
你点它warning的icon两下Eclipse就会自动给定.
如果你不喜欢,可以把它关掉,
windows -> preferences -> compiler -> Error/Warnings
-> Potential Programming problems
将Serializable class without serialVersionUID的warning改成ignore.

其实如果你没有考虑到兼容性问题时,那就把它关掉吧.
其实有这个功能是好的.
只要任何类别实作了Serializable这个介面,
如果没有加入serialVersionUID,Eclipse都会给你warning提示,
这个serialVersionUID为了让该类别Serializable后兼容.

考虑一下,如果今天你的类Serialized存到硬碟里,
可是后来你却更改了类别的field(增加或减少或改名).
当你Deserialize时,就会出现Exception.这样就会做成不兼容性的问题.

但当serialVersionUID相同时,它就会将不一样的field以type的预设值Deserialize.
这个可以避开不兼容性的问题.
参考技术A 大概是因为 你没有给它一个 serialVersionUID吧
这个ID可以用eclipse自动生成
也可以不用管他 没事的
参考技术B 你得把你的代码贴出来,估计你是没用工其直接在写代码,serializable的那个号有个固定的写法,估计你写错了. 参考技术C 序列化。。。

以上是关于Java中的警告:The serializable class FirstApplet does not declare a static final,请问是啥错误?的主要内容,如果未能解决你的问题,请参考以下文章

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

The method load(Class, Serializable) in the type HibernateTemplate is not applicable for the argumen

未经检查的强制转换:'java.io.Serializable'为'java.util.ArrayList “

java出现以下警告:WARN No appenders;WARN Please initialize the log4j的处理方法

Flink SQL xxx is not serializable. The object probably contains or references non serializable field

Flink SQL xxx is not serializable. The object probably contains or references non serializable field