1

我无法从Java 序列化文档中理解此评论:

数组类不能显式声明 serialVersionUID,因此它们始终具有默认的计算值,但数组类不需要匹配 serialVersionUID 值。

也许我无法理解显而易见的事情,但是,我还没有想出为什么我需要这样做?

4

2 回答 2

2

我认为您的问题的答案是阅读serialVersionUID。特别是,您经常希望在您的类上指定这一点,以便能够处理类随时间变化的事实。

您所指的评论是说您不能在数组上设置 serialVersionUID。如果这是真的,并且 serialVersionUID 总是需要匹配,那么你的数组就会有严重的问题,并且在序列化方面会非常脆弱。为了解决这个问题,语言设计者决定数组(反)序列化将忽略 serialVersionUID,从而回避无法定义的问题。

于 2013-10-07T20:05:31.317 回答
0

我还没想明白为什么我需要做他的。

你没有。你不能。没有定义数组类的语法,更不用说它们的serialVersionUID成员了。

这也是为什么检查它完全没有意义的原因。类没有什么可以改变的。

于 2015-08-13T05:47:59.260 回答