13

我经常使用 Eclipse 快速修复为可序列化的类生成序列版本 UID。

默认情况下有什么方法可以做到这一点?

这是一个额外的点击,但使用 Eclipse 选择快速修复通常很慢,而且当我实现可序列化时,我总是生成序列版本 UID:s。

4

3 回答 3

11

这可能不是您正在寻找的答案。假设您使用 Eclipse 生成相同的特殊值,如果您没有明确指定它,Java 会自动为您的类计算它,例如:

    private static final long serialVersionUID = 4125965356358329466L;

但是对于新创建的类没有充分的理由依赖这个相同的算法。重要的是您指定一个值,任何值。那么为什么不简单地做以下事情呢?

    private static final long serialVersionUID = 1L;

然后,您可以将此代码放入 Eclipse 的新类模板中。

于 2013-01-18T00:26:35.717 回答
10

不知道你是否有答案。但是 Eclipse 确实允许serialVersionUID一次性创建所有实现Serializable. 虽然,它与您想要的并不完全相同。但是,它将以更少的点击次数达到目的。

右键单击项目 -> 源 -> 清理...

  • 选择使用自定义配置文件。然后点击配置

清理屏幕 1

  • 单击缺少代码选项卡。在潜在的编程问题下,选择Add serial cersion ID。点击确定

清理屏幕 2

  • 现在您将看到一个步骤被添加为突出显示

清理屏幕 3

单击Finish后,Eclipse 将生成serialVersionUID.

于 2019-01-15T10:31:22.630 回答
3

在埃克利斯

从您的班级中删除该行

private static final long serialVersionUID = 123456789L;

将鼠标放在实现 Serializable 的方法名称(例如:XxxMethod)上

点击“添加生成的序列号”

于 2020-01-29T10:33:43.987 回答