{{format('0')}} {{format('503')}} {{format('1262')}}

IntelliJ IDEA 自定义toString()快捷生成方法布尔类型生成错误的问题解决方案

九叶的小窝 文章 正文

As Long As You Love Me.
分享

九叶

{{nature("2022-03-21 11:46:47")}}更新

1. 问题

今天发现以前写的 toString() 快捷生成方法 遇到了个问题

就是 属性如果是 boolean 类型的时候 他依旧使用getXXX();

导致方法变红 因为快捷键生成boolean类型的 get set 方法 名称为 isXXX(); 并非 getXXX();

image.png

2. 解决

public java.lang.String toString() {
return new org.apache.commons.lang3.builder.ToStringBuilder(this, org.apache.commons.lang3.builder.ToStringStyle.MULTI_LINE_STYLE)
#foreach ($member in $members)
    #if($member.isBoolean() && $member.isPrimitive())
        .append("$member.name", is$StringUtil.capitalize($member.accessor)())
    #else
        .append("$member.name", get$StringUtil.capitalize($member.accessor)())
    #end
#end
.toString();
}

$member.isBoolean()来判断该属性对象是否为布尔类型 如果不是 则继续用以前的方法 如果是则将get改为is

[scode type="yellow" size="small"]注意: 只有封装布尔类 Boolean 需要处理 原始布尔类boolean不需要处理

所以还需要同时满足 $member.isPrimitive()条件才需要将get替换为is[/scode]

完美解决

image.png

3. 题外话

如何自定义 toString()快捷生成方法

Alt + INS ---> toString() ---> Settings... ---> Templates ---> +

image.png

image.png

评论 0
0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}
TOP 2
Minecraft | [1.12.2] 核电工艺模拟器 1.2.25 —— 汉化版

{{nature('2021-12-07 15:29:00')}} {{format('3120')}}人已阅读

TOP 3
SSM搭建Spring单元测试环境

{{nature('2021-01-31 20:01:00')}} {{format('1382')}}人已阅读

TOP 4
dispatcher-servlet.xml文件配置模板

{{nature('2020-12-11 21:17:00')}} {{format('1297')}}人已阅读

TOP 5
Windows平台Nacos启动报错无法创建Bean实例

{{nature('2021-04-22 15:16:00')}} {{format('1254')}}人已阅读

目录

标签云

IntelliJ IDEA

一言

# {{hitokoto.data.from || '来自'}} #
{{hitokoto.data.hitokoto || '内容'}}
作者:{{hitokoto.data.from_who || '作者'}}
自定义UI
配色方案

侧边栏