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,请问是啥错误?的主要内容,如果未能解决你的问题,请参考以下文章