您好,我有一个关于SerialVersionUID
Java 的问题。如果我生成一个SerialVersionUID
for class A
,则 2 个实例A
具有相同的SerialVersion
about 类和另一个唯一的 Serial 对象,不同的 aboutobject1
和object2
? 或者怎么做?不明白,请回复我。谢谢。
问问题
246 次
2 回答
1
SerialVersionUID 是识别类版本的方法。所以同一类的所有对象都将具有相同的 SerialVersionUID。但是,如果您更改类,建议更改 SerialVersionUID。然后在不兼容的情况下,对象的序列化将失败。
于 2017-01-17T09:02:50.757 回答
0
serialVersionUID 用于对象的版本控制。
如果我们没有在类中定义serialVersionUID,并且在类中进行了任何修改,那么我们将无法对我们的类进行反序列化,因为java编译器为修改后的类生成的serialVersionUID将与旧的序列化对象不同,反序列化过程将结束抛出 java.io.InvalidClassException
- 运行时的序列化与每个可序列化类关联一个版本号,称为 serialVersionUID,在反序列化期间使用该版本号来验证序列化对象的发送方和接收方是否已为该对象加载了与序列化兼容的类。
serialVersionUID object1 和 object2?
它将是相同的,因为串行版本 uid 是静态的(即类级别)
于 2017-01-17T09:13:34.867 回答