3413得票25回答
什么是serialVersionUID,为什么我需要使用它?

当缺少 serialVersionUID 时,Eclipse会发出警告。 可序列化类Foo没有声明静态的final serialVersionUID 字段,类型为long serialVersionUID 是什么以及为什么它很重要?请给出一个示例,其中缺少serialVersion...

248得票5回答
什么意思:可序列化的类没有声明静态最终serialVersionUID字段?

我收到了标题中给出的警告信息,希望能够理解并解决它。我已经在这个问题上找到了一些答案,但由于技术术语过多而无法理解这些答案。有可能用简单的话来解释这个问题吗? P.S. 我知道什么是面向对象编程(OOP)。我知道什么是对象、类、方法、字段和实例化。 P.P.S. 如果有人需要我的代码,它在...

228得票10回答
为什么要生成长的serialVersionUID而不是简单的1L?

当在Eclipse中实现Serializable类时,我有两个选项:添加默认的serialVersionUID(1L)或生成serialVersionUID(3567653491060394677L)。我认为第一个更酷,但很多时候我看到人们使用第二个选项。是否有生成long serialVer...

77得票4回答
一个抽象类是否应该具有serialVersionUID?

在Java中,如果一个类实现了Serializable接口但是是抽象类,它是否需要声明一个serialVersionUID长整型呢?还是只有子类需要声明? 在这种情况下,的确打算让所有子类处理序列化,因为该类型的目的是用于RMI调用。

76得票12回答
使用 serialVersionUID 还是抑制警告?

我想创建一个类,例如扩展HttpServlet。我的编译器警告我说我的类应该有一个 serialVersionUID。如果我知道这个对象永远不会被序列化,我应该定义它还是添加一个注释以抑制这些警告? 我会定义serialVersionUID。虽然这个对象可能永远不会被序列化,但是确保它的se...

56得票3回答
为什么我的异常类需要进行序列化?

当你通过扩展Exception类(用于创建新的异常)时,会得到一个警告要求添加serialVersionUID。我知道在序列化和反序列化中serialVersionUID扮演了重要的角色,但是我的异常需要进行序列化吗?有人能给我提供一个实际情况,在这种情况下我需要让自定义异常类进行序列化和反序列化?

45得票3回答
Java中的serialVersionUID是什么,通常在异常类中使用?

可能重复: 为什么我需要关注 serialVersionUID? 我正在查看一些异常处理代码,看到了一个名为 serialVersionUID 的东西。这个 uid 是干什么用的?它只适用于异常还是可以在所有类中使用?这个 id 有什么好处?

35得票2回答
摆脱Eclipse生成的serialVersionUID上面的注释

这已经成为我很烦恼的事情了。我写了一个类,并实现了Serializible接口。然后eclipse警告我没有serialVersionUID,所以我选择"添加生成的serialVersionUID"或"添加默认的serialVersionUID",最终得到了如下代码: /** * ...

26得票6回答
显式声明 serialVersionUID 有害吗?

在我看来,为新类明确指定serialVersionUID是不好的。考虑两种情况:当布局应该更改但未更改时不改变它以及在不应更改时更改它。 当应该更改时没有更改几乎只会出现在显示指定时。在这种情况下,会导致一些非常微妙、难以发现的错误。特别是在开发过程中,当类布局经常更改时。但如果没有明确指定,...

24得票9回答
寻找序列化对象的serialVersionUID

有没有一种方法可以确定序列化的Java对象生成的serialVersionUID? 问题在于,我序列化了一个对象,没有明确指定serialVersionUID。现在反序列化过程抱怨类不兼容。然而,我没有以使其不兼容的方式更改类。因此,我认为只需在类中指定与存储在对象数据中相同的serialV...