摆脱Eclipse生成的serVersionUID上面的注释

这已经成为我的宠物烦恼。我写了一个类,并实现了.然后eclipse警告我没有,所以我选择“添加生成的serialVersionUID”或“添加默认的serialVersionUID”,我最终得到这样的东西:SerializibleserialVersionUID

  /**
   * 
   */
  private static final long serialVersionUID = 4049849541314027178L;

大多数时候我不想添加评论,所以我必须去删除评论。我宁愿默认值是没有注释,但我已经查看了首选项中的代码模板,但还没有弄清楚如何更改它。我只是想让它看起来像这样:

  private static final long serialVersionUID = 4049849541314027178L;

答案 1

它使用模板来表示任何日食生成的字段。

您可以在

 Preferences -> 
     Java -> 
        Code Style -> 
           Code Templates -> 
              Comments -> 
                 Fields

...全局或每个项目。


答案 2

为了从第一个答案进一步解释它,自动生成的注释只是一个适用于所有字段(包括此字段)的注释模板生成。当您从工具栏的“源”部分为该字段生成元素注释 (Alt+Shift+J) 时,它将运行。serialVersionUID

重要的事实是,当您快速修复时,字段注释的生成也会自动运行

可序列化类不声明 long 类型的静态最终 serialVersionUID 字段”[ClassName]

禁用/更改所有字段的生成注释

您可以通过在执行原始回答者@slim回答的内容后单击编辑并将注释清空来阻止为所有字段生成注释,如

Toolbar -> Window -> Preferences -> Java -> Code Style -> Code Templates -> Comments -> Fields

快速修复可序列化的警告后,请注意注释不再是自动生成的。

禁用/更改仅针对串行版本 UID 的注释的自动生成

遗憾的是,没有选项可以阻止通过快速修复自动生成注释,而无需为所有字段的注释生成模板清空。在首选项中搜索“注释”或“串行”时没有这样的选项。SerialVersionUID

幸运的是,这并不重要,因为对于其他字段,它仅在您为该字段生成元素注释时生成。您也可以选择手动注释或Javadoc字段。

此代码摘录(仅显示的字段)显示有关序列化的警告。

public class SomePanel extends JPanel {
    private String name;
    /* ... */
}

快速修复此警告,并在该字段中生成元素注释。在不使模板空白的情况下,您将获得此模板,这是您不希望的:nameserialVersionUID

public class SomePanel extends JPanel {
    /**
     *
     */
    private static final long serialVersionUID = -5173652620102412871L;
    /**
     * 
     */
    private String name;
    /* ... */
}

将用于生成字段的注释的模板清空后,如预期的那样,您将获得:

public class SomePanel extends JPanel {
    private static final long serialVersionUID = 1L;
    private String name;
    /* ... */
}

推荐