黑马程序员技术交流社区

标题: 用eclipse 自定义异常代码问题??? [打印本页]

作者: 李磊_Adam    时间: 2013-7-23 18:32
标题: 用eclipse 自定义异常代码问题???
本帖最后由 杨兴庭 于 2013-7-24 21:05 编辑

如图:自定义的异常名字出现黄色波浪线,点击出现一行英文The serializable class FuShuException does not declare a static final serialVersionUID field of type long. 怎么破?????

1.jpg (11.14 KB, 下载次数: 0)

1.jpg

2.jpg (9.13 KB, 下载次数: 0)

2.jpg

作者: liuzhming    时间: 2013-7-23 19:38
serialVersionUID的作用:序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两种生成方式:一种是默认的1L,比如:private static final long serialVersionUID = 1L;一种是根据类名,接口名,成员方法及属性等来生成一个64位的哈希字段,比如:private static final long serialVersionUID = xxxxL;当你一个类实现了Serializable接口,如果没有定义serialVersionUID,Eclipse会提供这个提示功能告诉你去定义。因为Exception实现了Serializable接口,所以你继承Exception时,就会有这样的提示。如果你没有考虑兼容性问题,可以把它关了,或者不去处理它,使用默认的即可。
作者: 李江    时间: 2013-7-23 19:56
具体原理也不太清楚,有时候定义了变量没用去用也会这样,但是不妨碍运行,可能是提醒程序有待优化吧。
作者: 李磊_Adam    时间: 2013-7-23 20:32
liuzhming 发表于 2013-7-23 19:38
serialVersionUID的作用:序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两 ...

怎么关闭这个功能啊?有时候也会影响程序运行。。。谢谢
作者: liuzhming    时间: 2013-7-23 20:44
在Eclipse的设置中可以把它关掉,设置如下:window==>Preferences==>java==>Compiler==>Error/Warnings==>Potential programming problems将Serializable class without serialVersionUID的warning改成ignore即可。

作者: 李磊_Adam    时间: 2013-7-23 21:45
liuzhming 发表于 2013-7-23 20:44
在Eclipse的设置中可以把它关掉,设置如下:window==>Preferences==>java==>Compiler==>Error/Warnings==>P ...

谢谢!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2