可序列化类的问题

catzyhh 2010-04-16 10:13:07
在JDK1。5中调试通过的文件,在1.6中运行,出现如下的错误:
警告:[serial ]可序列化类****中没有serial VersionUID的定义。
请教如何解决
...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
laker_914 2010-04-17
  • 打赏
  • 举报
回复
这只是一个Warning,生成一个

private static final long serialVersionUID = 8237733393465221707L;
就可以了!
xiaoheixiadao 2010-04-17
  • 打赏
  • 举报
回复
楼上说的对!你可以不用声明,对你的程序没有影响!
groovy2007 2010-04-17
  • 打赏
  • 举报
回复
该警告可以无视之。

“如果可序列化类未显式声明 serialVersionUID,则序列化运行时将基于该类的各个方面计算该类的默认 serialVersionUID 值,如Java(TM) 对象序列化规范中所述。不过,强烈建议 所有可序列化类都显式声明 serialVersionUID 值”

如果你想要uid的话,eclipse等工具会自动帮你生成一个
哈特中尉 2010-04-17
  • 打赏
  • 举报
回复
不知道lz是什么意思,我们在序列化与反序列化的时候实现serializable接口就是了啊!
zfq642773391 2010-04-17
  • 打赏
  • 举报
回复
添加个private static final long serialVersionUID = 1L就行了;
实际上可以不必加也没事
serialVersionUID 用来表明类的不同版本间的兼容性
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。
paullbm 2010-04-17
  • 打赏
  • 举报
回复
直接找到那个类点类名所在的那一行的提示符,make一个UID就行了啊。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧