在我的 Eclipse 中,我尝试了关于序列化的示例,但遇到了以下警告
我知道什么是 serialVersionUID 以及它在序列化中的意义。我对此警告有以下疑问
- IDE如何分配默认值。它是在 IDE 中硬编码的吗?
- 当它说生成ID时,使用哪些参数来生成新ID?
- 不确定第三个选项是什么。说了一些关于抑制注释的事情。这是否意味着根本没有分配 id。在那种情况下,序列化中使用什么?
在我的 Eclipse 中,我尝试了关于序列化的示例,但遇到了以下警告
我知道什么是 serialVersionUID 以及它在序列化中的意义。我对此警告有以下疑问
IDE如何分配默认值。它是在 IDE 中硬编码的吗?
是的,默认是硬编码值,即1L
当它说生成ID时,使用哪些参数来生成新ID?
通常应该使用方法字段和方法签名来确定它,因为您专门询问 eclipse,不确定它,有一个serialver
实用程序可以简单地为您的类提供 serialVersionUID
$serialver A
serialver A: static final long serialVersionUID = -609421954100196333L;
不确定第三个选项是什么。说了一些关于抑制注释的事情。这是否意味着根本没有分配 id。在那种情况下,序列化中使用什么?
@SuppressWarning
它说,通过添加注释指示java编译器不要抱怨这种情况下的特殊警告
另见