为什么 Intellij 默认 getter/setter 模板会删除我的布尔“is”变量名前缀?

2024-02-25

我有一个实体。我将变量定义为布尔值,并使用 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(使用前将#替换为@)

为什么 Intellij 默认 getter/setter 模板会删除我的布尔“is”变量名前缀? 的相关文章

随机推荐

  • 插入 MySQL 数据库的 PHP PDO 代码不起作用[重复]

    这个问题在这里已经有答案了 我在对一些简单的 PHP 代码进行故障排除以在 MySQL 表中插入记录时遇到困难 直接输入 WAMP 的代码可以正常工作 INSERT INTO users userName userEmail VALUES
  • 安装最新版本后显示较旧的 Ruby 版本

    我正在按照以下说明进行操作GoRails https gorails com setup osx 10 10 yosemite ruby在我的系统上安装 Ruby Rails 按照使用 rbenv 安装 Ruby 的说明进行操作后 我验证了
  • 填充线条曲线下

    对于下面的示例数据集 我想将 y 绘制为一条平滑线 并使用 R 在线下填充 我能够获得平滑的线条 但不能获得颜色填充的曲线 有人可以帮我吗 date y 2015 03 11 71 12 2015 03 10 34 0 2015 03 09
  • 如何替换 html 标签之间的任何文本

    我在 html 标签之间有文本 例如 td vip td 我将在标签之间添加任何文本 td td 我如何从这些标签中剪切任何文本并将任何文本放在这些标签之间 我需要通过 bash shell 来完成 我怎样才能做到这一点 首先 我尝试获取此
  • HttpClient - Xamarin Android - MvvmCross

    我一直在使用 Xamarin 和 MvvmCross 开发 Android 应用程序 一切都很顺利 我和我 的团队能够开发解决方案 本周我们决定进行最终调整并在其他环境中测试该应用程序 在测试过程中 我遇到了 Android 解决方案的巨大
  • 当我在 JScrollPane 中滚动水平和垂直滚动条时,paintComponent 不会被调用

    我在使用 Swing 和 JScrollPane 时遇到问题 我的行为很奇怪 我延长了JScrollPane 我在其中显示图像并在其上绘制矩形以定义区域 对于大图像 我有一个水平和一个垂直滚动条 我 好吧 当我移动一个或另一个滚动条时 我看
  • 重用 CloudFormation 标签列表

    我有一组相当复杂的 CloudFormation 模板 用于配置基础设施的不同环境 然而 我最近收到了使用相当广泛的标签列表 如 15 个 来标记创建的资源的请求 对我来说 将标签硬编码到每个模板文件中似乎不是一个好主意 我宁愿创建一次标签
  • arp -a 和路由打印

    我需要编写一个程序来显示这些信息 netstat TCP UDP 连接 有关 IP 的信息 ipconfig all arp a 路线打印 我已经拥有其中的大部分 但我有一个问题route print and arp a 我不想使用执行此命
  • 从 dll 导入显式实例化的模板类

    作为一个 dll 新手 我必须向全能的 SO 询问一些事情 假设我显式实例化一个模板类 如下所示 template class declspec dllexport B
  • 新的 C++ 向后兼容

    我已经很多年没有用 C 编写代码了 我最近发现 在那些年里 情况发生了很大的变化 我不确定我是否喜欢这些变化 但那是另一个讨论了 我的硬盘上仍然有一些 C 代码 如果我把它拿出来并尝试用一个很好的新 C 编译器 比如最新版本的 g 来编译它
  • 删除 Iframe 周围的额外空白?

    我在页面中使用 iframe 并偶然发现了一个奇怪的问题 我像这样设置 iframe css iframe margin none padding none background blue this is just to make the
  • 尝试在fineUploader中解析xhr响应文本时出错

    我现在购买了这个罚款上传器版本 3 3 0 并将所有库集成到我的网站中 我认为上传可以正常工作 但不行 我的 javascript 控制台出现错误 FineUploader Sending upload request for 0 Fine
  • 角度材质选项卡 - 仅在选择活动选项卡时加载/卸载组件

    给出 MainComponent html 的以下代码
  • 将数字转换为逗号分隔值

    我需要将数字转换为逗号分隔的格式以显示在C 例如 1000 to 1 000 45000 to 45 000 150000 to 1 50 000 21545000 to 2 15 45 000 如何实现这一目标C 我尝试了下面的代码 in
  • 在 Ubuntu 上使用 mysql 安装 Sonar

    我正在尝试让本机声纳包在 ubuntu 12 04 上运行 当我使用 H2 运行它时 它正在端口 9000 上运行并可访问 如果我切换到 mysql 它不工作 看起来数据库连接失败 登录名 表和权限都会经过多次双重检查 当我尝试访问 htt
  • Chrome RangeError:使用 jQuery $.map 时超出最大调用堆栈大小

    我正在为我的雇主测试一个 Web 应用程序 其中涉及从服务器检索大量数据 使用以下方法将数据作为 JSON 对象返回 ajax http api jquery com jQuery ajax 函数 包含大量子对象 我使用 jQuery 将其
  • 如果我没有为其相应的命令声明消息映射条目,如何阻止 MFC 禁用我的控件?

    我有以下问题 如果我没有相应消息的消息映射条目 假设 ID MYBUTTON1 MFC 将禁用我的工具栏 CToolbar 控件 有没有解决的办法 我对菜单也有同样的问题 但我发现您可以通过将 CFrameWnd m bAutoMenuEn
  • DDD - 使用 Doctrine 2 的有界上下文之间的关联映射

    我正在努力理解使用 Doctrine 2 实现来自不同有界上下文的两个实体之间的关联映射的正确方法 假设有两个 User 和 Post 实体分别属于 User 和 Content 有界上下文 内容 上下文中还有一个 用户 概念 它通过多对一
  • iOS如何屏蔽图像背景颜色

    我想在我的 iOS 应用程序中执行以下操作 用户可以在白色背景纸上画一些东西 我的应用程序允许用户捕获绘制的图像 这里的图像将以白色背景捕获 最后 从捕获的图像中 我需要掩盖白色背景颜色 然后将图像单独放入 UIImage 对象中 我完成了
  • 为什么 Intellij 默认 getter/setter 模板会删除我的布尔“is”变量名前缀?

    我有一个实体 我将变量定义为布尔值 并使用 Intellij Idea Shortcuts 创建了 Getter 和 Setter 方法 private Boolean isForLaboratory false 创建后生成如下 publi