What is Serial Version ID in Java?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
Why should I bother about serialVersionUID?
what is a serial version id?
当我在Eclipse中创建了一个扩展java.util.logging.level的新类时,它要求我添加一个默认的或生成的序列版本ID。我只是盲目添加,不知道它是什么以及为什么要添加它。
有人能告诉我它是什么,为什么需要它吗?
序列化和反序列化对象时使用序列版本ID。Java识别如果要反序列化的字节与本地类版本匹配。否则,它将抛出异常。
这在执行RMI或持久化对象结构时很重要。
在serializable的javadoc中有一个非常好的关于序列化的描述。
它是用于序列化的类的唯一标识符。
如果要尽快序列化,最好声明它,因为如果不声明,那么在更改类时,将自动生成不同的类,并且序列化将停止工作。
这里有一个很好的参考:http://c2.com/ppr/wiki/javaidioms/alwaysdeclareserialversionuid.html