这已成为我的一个宠儿。我写了一个课程,并实施Serializible
。然后eclipse警告我,我没有serialVersionUID
,所以我选择" 添加生成的serialVersionUID "或" 添加默认的serialVersionUID "我最终得到这样的东西:
/**
*
*/
private static final long serialVersionUID = 4049849541314027178L;
大部分时间我都不想添加评论,因此我必须删除评论。我宁愿默认是没有评论,但我已经查看了偏好中的代码模板,并且没有想出如何更改它。我只是希望它看起来像这样:
private static final long serialVersionUID = 4049849541314027178L;
答案 0 :(得分:28)
它正在使用模板生成任何eclipse生成的字段。
您可以在
中进行更改 Preferences ->
Java ->
Code Style ->
Code Templates ->
Comments ->
Fields
......无论是全球还是每个项目。
答案 1 :(得分:0)
要从第一个答案进一步解释,serialVersionUID
的自动生成的注释只是注释模板的生成,适用于所有字段,包括该字段。当您从工具栏的“源”部分为该字段生成元素注释(Alt + Shift + J)时,它将运行。
重要的事实是,当您快速修复
时,字段注释的生成也会自动运行可序列化的类
[ClassName]
没有声明类型为long的静态最终serialVersionUID字段”
为所有字段禁用/更改生成的注释
您可以在执行原始回答者@slim的回答后,通过单击 edit 和空白注释来阻止所有字段的注释生成,例如
Toolbar -> Window -> Preferences -> Java -> Code Style -> Code Templates -> Comments -> Fields
快速修复 serializable 警告之后,请注意,注释不再自动生成。
仅针对SerialVersionUID
不幸的是,没有选项可以通过快速修复来防止为SerialVersionUID
自动生成注释,而不会空白所有字段的注释生成模板。在“首选项”中搜索“注释”或“序列”时没有这种选项。
幸运的是,这无关紧要,因为对于其他字段,它仅在您为该字段生成元素注释时生成。而且,您还可以选择手动注释或Javadoc字段。
示例
此代码摘录(仅显示字段)显示有关序列化的警告。
public class SomePanel extends JPanel {
private String name;
/* ... */
}
您可以快速修复此警告,并在name
字段中生成元素注释。无需清空模板,您将获得serialVersionUID
不需要的模板:
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;
/* ... */
}