Java 具有serialVersionUID的数组类?

Java 具有serialVersionUID的数组类?,java,serialization,java-io,Java,Serialization,Java Io,我在理解以下评论时遇到困难: 数组类不能声明显式的serialVersionUID,因此它们始终具有默认的计算值,但数组类不需要匹配serialVersionUID值 也许我无法理解显而易见的事情,但是,我还不明白为什么我需要这样做?我想你的问题的答案是仔细阅读。特别是,您经常希望在类中指定此选项,以便能够处理类随时间变化的事实 您所指的注释是不能在数组上设置serialVersionUID。如果这是真的,并且serialVersionUID始终需要匹配,那么您的数组将出现严重问题,并且在序列化

我在理解以下评论时遇到困难:

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


也许我无法理解显而易见的事情,但是,我还不明白为什么我需要这样做?

我想你的问题的答案是仔细阅读。特别是,您经常希望在类中指定此选项,以便能够处理类随时间变化的事实

您所指的注释是不能在数组上设置serialVersionUID。如果这是真的,并且serialVersionUID始终需要匹配,那么您的数组将出现严重问题,并且在序列化方面非常脆弱。为了解决这个问题,语言设计者决定数组(反)序列化将忽略serialVersionUID,从而避免无法定义它的问题

我还不明白为什么我要做他的

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


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

谢谢。那么,您是说由数组变量组成的类不能有serialVersionUID?我在不同的类中使用了int[]数组和object[]以及serialVersionUID,用于通过套接字和数组进行基于对象的通信,这两个类的连接总是很好。也许我不能清楚地理解你的观点。是否可以粘贴示例代码?“我将不胜感激。”艾希礼,不完全是。包含数组的类可以有serialVersionUID,但数组本身不能。再次感谢。因此,它实际上是数组本身。我认为术语“数组类”有点令人困惑。谢谢你的澄清。'Your'数组类(什么数组类?)会有什么严重的问题,并且会非常脆弱如何?@EJP'Your array class'==你创建的数组类。这将是脆弱的WRT序列化,因为您无法保证它们正常工作。