我正在使用java中的序列化类,在那些类中,我需要指定serialVersionUID,并使用一些长数字进行初始化。 默认情况下,它需要
private static final long serialVersionUID = 1L;
否则我也可以使用其他一些长号来初始化相同的内容,如下图所示:
private static final long serialVersionUID = 5561040348988016571L;
一些非常大的数字。
我的问题是:我们初始化为serialVersionUID的值是否真的重要?
答案 0 :(得分:1)
我的问题是,这对于我们初始化为serialVersionUID的值是否真正重要,或者无关紧要。
不,无关紧要,除非您已经拥有在添加此成员之前制作的现有序列化(例如文件)。在这种情况下,在.class文件上运行时,必须使用serialver
实用程序输出的值,就像进行这些序列化时一样。
答案 1 :(得分:-1)
如果您的对象状态不会被序列化,那么每次类结构更改时您都必须生成serialVersionUID无关紧要(您可以使用eclipse默认的UID生成策略)。