我有实体。我将变量定义为布尔值,并使用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删除了我的前缀?
3条答案
按热度按时间nimxete21#
如果你弹出对话框
Generate
Getter and Setter
,你可以看到:点击
...
右边的按钮,你可以看到模板代码包括以下内容:换句话说,对于以
is
开头的字段有特殊的处理-如果你想写自己的模板,你当然可以这样做:)至于为什么-有一个javabean标准的布尔字段,其中一个字段名为(例如)
boolean enabled
的getter可以是isEnabled()
而不是getEnabled()
,它肯定与此有关。2ekbmq322#
在IntelliJ版本15+中,你必须使用布尔原语来使IntelliJ生成一个带有“is”前缀的Get函数。
默认的
Getter Template
看起来像这样:因此,在IntelliJ 15.x和更高版本中正确的方法应该是这样的:
自动生成后:
3pvhb19x3#
我最近在使用Spring Data MongoDB开发Sping Boot 应用程序时也遇到了这个问题。在数据库中有两个关键字。
isDeleted
和deleted
。在我调查的时候,我发现在我的Document Java类中,
isDeleted
属性被暴露为getDeleted
和setDeleted
方法,而不是getIsDeleted
和setIsDeleted
。下面是文档类的一个预览:之前
这是因为我使用了
Intellij Idea
的getters和setters生成特性。我认为这可以通过修改
Intellij Idea
中现有的代码生成模板来轻松改变。要添加新的自定义Getters和Setters模板,请按照以下步骤操作:
然后,在生成getter和setter时,只需选择您的自定义模板并按ok即可。它应该能解决你的问题
之后
以下是我的自定义模板,可以解决这个问题:
1.修改的Intellij默认
Getters
生成模板1.修改的Intellij默认
Setters
生成模板1.修改的生成器模式
Setters
生成模板