private static final long serialVersionUID = 1L;问题

dingdang_j 2009-09-14 04:18:00
经常在类名那有错,修改后,经常加了private static final long serialVersionUID = 1L; 这个是什么意思,加了有什么用?
...全文
19260 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxlion 2009-09-25
  • 打赏
  • 举报
回复
序列化时用到,serialVersionUID 就是这个类对象的id,和其他对象区别
longds7 2009-09-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hui94781674 的回复:]
最好还是加上。
[/Quote]
头像不错
hui94781674 2009-09-25
  • 打赏
  • 举报
回复
最好还是加上。
littlemonster 2009-09-24
  • 打赏
  • 举报
回复
需要注意,否则你在jdk1.5下打的jar。到1.6的时候可能就不能用了,会报错。

[Quote=引用楼主 dingdang_j 的回复:]
经常在类名那有错,修改后,经常加了private static final long serialVersionUID = 1L; 这个是什么意思,加了有什么用?
[/Quote]
l_jiayou 2009-09-23
  • 打赏
  • 举报
回复
实现了serializable 接口后加上该字段,最好加上
da357085813 2009-09-23
  • 打赏
  • 举报
回复
无关紧要,如果你只是自己练手的话
config_man 2009-09-14
  • 打赏
  • 举报
回复
不加没有关系
loveofmylife 2009-09-14
  • 打赏
  • 举报
回复
实现了serializable 接口后加上该字段
序列化运行时使用 serialVersionUID与每个可序列化类相关联,该序列号在反序列化过程中用于验证序列化对象的发送者和接收者是否为该对象加载了与序列化兼容的类
justinavril 2009-09-14
  • 打赏
  • 举报
回复
无关紧要,如果你只是自己练手的话

怎么去掉 按楼上操作吧 呵呵
xuchaofu2010 2009-09-14
  • 打赏
  • 举报
回复
用来表明类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入private static final long serialVersionUID这个属性,具体数值自己定义。

Window-->Preferences-->Java,将serializable class without serialVersionUID的设置由warning改为Ignore。然后Eclipse会重新编译程序,那些警告信息也就消失了

62,614

社区成员

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

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