日期:2014-05-20  浏览次数:20782 次

为何加入:private static final long serialVersionUID?
在项目中经常看到这样的语句:

private   static   final   long   serialVersionUID   =   2008524502721775114L;

为什么要加入这样的语句?

有什么用途?

一般在什么情况下加入这样的语句?

在eclipse中   有没有快捷键自动加入这样的语句而不用手工输入?

------解决方案--------------------
serialVersionUID 用来表明类的不同版本间的兼容性。如果你修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入private static final long serialVersionUID这个属性,具体数值自己定义。
在警告上点左键就可以自动添加。当然也可以去掉警告。设置:Window--> Preferences--> Java,将serializable class without serialVersionUID的设置由warning改为Ignore。然后Eclipse会重新编译程序,那些警告信息也就消失了。