为了从第一个答案进一步解释它,自动生成的注释只是一个适用于所有字段(包括此字段)的注释模板生成。当您从工具栏的“源”部分为该字段生成元素注释 (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;
/* ... */
}
快速修复此警告,并在该字段中生成元素注释。在不使模板空白的情况下,您将获得此模板,这是您不希望的: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;
/* ... */
}