4

在我的 Eclipse 中,我尝试了关于序列化的示例,但遇到了以下警告

在此处输入图像描述

我知道什么是 serialVersionUID 以及它在序列化中的意义。我对此警告有以下疑问

  1. IDE如何分配默认值。它是在 IDE 中硬编码的吗?
  2. 当它说生成ID时,使用哪些参数来生成新ID?
  3. 不确定第三个选项是什么。说了一些关于抑制注释的事情。这是否意味着根本没有分配 id。在那种情况下,序列化中使用什么?
4

1 回答 1

3

IDE如何分配默认值。它是在 IDE 中硬编码的吗?

是的,默认是硬编码值,即1L

当它说生成ID时,使用哪些参数来生成新ID?

通常应该使用方法字段和方法签名来确定它,因为您专门询问 eclipse,不确定它,有一个serialver实用程序可以简单地为您的类提供 serialVersionUID

$serialver A
serialver A:    static final long serialVersionUID = -609421954100196333L;

不确定第三个选项是什么。说了一些关于抑制注释的事情。这是否意味着根本没有分配 id。在那种情况下,序列化中使用什么?

@SuppressWarning它说,通过添加注释指示java编译器不要抱怨这种情况下的特殊警告


另见

于 2014-01-06T18:25:34.733 回答