gpt4 book ai didi

java - 如何为 getter 和 setter 修改 IDEA IntelliJ v10.x 代码生成器?

转载 作者:行者123 更新时间:2023-11-30 11:51:07 27 4
gpt4 key购买 nike

IntelliJ 为 boolean 字段生成以下 getter/setter 代码:

   private boolean isTest;

public boolean isTest() {
return isTest;
}

public void setTest(boolean test) {
isTest = test;
}

这也产生相同的方法签名:

   private boolean test;

public boolean isTest() {
return test;
}

public void setTest(boolean test) {
this.test = test;
}

太棒了!到目前为止,一切都很好。 IntelliJ 遵循 boolean 值的 JavaBean 命名约定。

但请注意当您使用对象 boolean 值(而不是原始 boolean 值)时会发生什么:

   private Boolean isTest;

public Boolean getTest() {
return isTest;
}

public void setTest(Boolean test) {
isTest = test;
}

呃哦!你看到了吗?它应该生成这个(Eclipse 会生成):

   private Boolean isTest;

public Boolean getIsTest() {
return isTest;
}

public void setIsTest(Boolean isTest) {
isTest = isTest;
}

这可能看起来没什么大不了的,但是这个小小的不一致导致了一个巨大的项目噩梦。原因是:还有其他层和框架期望将变量完全映射到 Java 类字段名称 - 否则如果没有自定义映射逻辑就会失败(痛苦且不必要)。

我们的团队对所有 boolean 对象使用 is*Name* 模式。甚至我们的 boolean 数据库列也被命名为 is_name,使用 Eclipse 的 JBoss Hibernate 逆向工程工具插件将其转换为“is*Name*”。

有人知道怎么解决吗?我们可以配置某种类型的代码生成模板吗?非常感谢任何帮助。

最佳答案

was reported Eclipse 生成 get<Property>对于 boolean 值,而 IDEA 生成 is<Property> .不符合规范,用户要求修复。

作为解决此错误的结果,当前的 IDEA 版本正在按照 JavaBeans 规范工作,并且仅将此类 getter 用于原始 boolean。类型和 get<Property>对于其他类型,包括 Boolean .

抱歉,在 IDEA 中无法配置此行为。

关于java - 如何为 getter 和 setter 修改 IDEA IntelliJ v10.x 代码生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7607767/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com