我有一个实体。我将变量定义为布尔值,并使用 Intellij Idea Shortcuts 创建了 Getter 和 Setter 方法。
private Boolean isForLaboratory = false;
创建后生成如下:
public Boolean getForLaboratory() {
return isForLaboratory;
}
public void setForLaboratory(Boolean forLaboratory) {
isForLaboratory = forLaboratory;
}
我期望 getIsForLaboratory 和 setIsForLaboratory。这是 Java 的通用约定吗?为什么 Intellij 删除了我的前缀?
如果弹出对话框Generate
the Getter and Setter
,你可以看到:
Getter template: IntelliJ Default
Setter template: IntelliJ Default
单击右侧的按钮Getter Template
标记为...
可以看到模板代码包含以下内容:
#if ($StringUtil.startsWithIgnoreCase($name, 'is'))
#set($name = $StringUtil.decapitalize($name))
#else
is##
换句话说,对于以以下开头的字段有特殊处理is
- 如果你想编写自己的模板,你当然可以这样做:)
至于为什么 - 有一个布尔字段的 javabean 标准,其中字段的 getter 名为(例如)boolean enabled
can be isEnabled()
代替getEnabled()
,肯定与此有关。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)