A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李磊_Adam 中级黑马   /  2013-7-23 18:32  /  1945 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 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

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3 赞一个!

查看全部评分

5 个回复

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

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

谢谢!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马