IDEA中Boolean类型生成GetSet方法时带有is的字段会被自动除去is
Boolean类型生成带有is的字段的Get&Set方法,is会被自动除去
- 错误代码如下
- 然后手动修改了被去除的is,问题解决
- 同时在度娘扒出了解决方案,贴上来方便大家解决这个问题
最近一个项目的一个pojo,像往常一样自动生成了get和set,代码进行到一个功能后效果无论如何都实现不了,咨询了神奇的度娘发现是自己偷懒的锅。
错误代码如下
public class Category {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String name;private Long parentId;private Boolean isParent;private Integer sort;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Long getParentId() {return parentId;}public void setParentId(Long parentId) {this.parentId = parentId;}------------------------public Boolean getParent() {return isParent;}public void setParent(Boolean parent) {isParent = parent;}------------------------public Integer getSort() {return sort;}public void setSort(Integer sort) {this.sort = sort;}}
然后手动修改了被去除的is,问题解决
public class Category {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;private String name;private Long parentId;private Boolean isParent;private Integer sort;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Long getParentId() {return parentId;}public void setParentId(Long parentId) {this.parentId = parentId;}public Boolean getIsParent() {return isParent;}public void setIsParent(Boolean isParent) {this.isParent = isParent;}public Integer getSort() {return sort;}public void setSort(Integer sort) {this.sort = sort;}
}
查找各种解决方案后得知主要原因就是在部分框架中这种命名方式会导致部分框架解析错误,所以idea生成时会自动去除is
同时在度娘扒出了解决方案,贴上来方便大家解决这个问题
修改IDEA生成get、set方法的模板,将上述情况下的变量生成时不忽略is。
增加自定义模板
添加Getter template模板为:
#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
$field.type ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.name == $paramName)
get##
#else
getIs##
#end
${name}() {return this.##
$field.name;
}
添加Setter template模板为:
#set($paramName = $helper.getParamName($field, $project))
#if($field.modifierStatic)
static ##
#end
void ##
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.name == $paramName)
set##
#else
setIs##
#end
${name}($field.type $paramName) {#if (!$field.modifierStatic)
this.##
#else$classname.##
#end
$field.name = $paramName;
}
然后使用刚刚创建的模板生成代码:
public class Test {private Boolean isTestClass = false;private boolean isTestPojo = false;public Boolean getIsTestClass() {return this.isTestClass;}public void setIsTestClass(Boolean testClass) {this.isTestClass = testClass;}public boolean getIsTestPojo() {return this.isTestPojo;}public void setIsTestPojo(boolean testPojo) {this.isTestPojo = testPojo;}
}
IDEA中Boolean类型生成GetSet方法时带有is的字段会被自动除去is相关推荐
- java中boolean方法_java中boolean类型怎么用?
boolean类型的用法是java中的布尔型[逻辑型]数据类型,在java中boolean值只能是true和false,而不能用0和1代替,并且一定要小写,代码为[var myBoolean = ne ...
- java boolean几个字节_Java中boolean类型到底占用多少个字节?
1.时间:2017-07-03 07:37:06YuanMxy 2.问题描述:今天在复习java基础的时候发现一小问题,Java中boolean类型到底占用多少个字节? 3.问题解答: (1)什么是b ...
- python中字典类型中的item是什么-python中 字典类型内置方法
python中 字典类型内置方法 一.字典(dict) 1·. 存多个值,但是每一个值都有一个key与之对应.列如存在值有姓名:jiayi.年龄:18.身高:173 2.定义方式 在{}内 ...
- Mybatis中,SQLSessionFactoryBuilder使用build方法时做了哪些事?
目录 探究Configuration 探究parse方法 启动断点调试 过程 总结 当我们上手mybatis时,对于mybatis如何读取xml配置文件,获取SQLSessionFactory的底层源 ...
- R语言中不同类型的聚类方法比较
聚类方法用于识别从营销,生物医学和地理空间等领域收集的多变量数据集中的相似对象.我们围绕聚类技术进行一些咨询,帮助客户解决独特的业务问题.它们是不同类型的聚类方法,包括: 划分方法 分层聚类 模糊聚类 ...
- python中字符串类型的encode()方法_第五章 Python字符串常用方法详解
5.1 Python字符串拼接(包含字符串拼接数字) 在 Python中拼接(连接)字符串很简单,可以直接将两个字符串紧挨着写在一起,具体格式为: strname = "str1" ...
- 在Python中检查类型的规范方法是什么?
检查给定对象是否为给定类型的最佳方法是什么? 如何检查对象是否从给定类型继承? 假设我有一个对象o . 如何检查是否为str ? #1楼 前往雨果: 您可能是说list而不是array ,但这指向类型 ...
- java中boolean类型占几个字节
java的基本数据类型中,boolean只有两种状态,默认值为false.取值范围是{true,false},理论上占1bit,实际上: 1.单个的boolean 类型变量在编译的时候是使用的int ...
- Laravel 中 Faker库 生成数据方法总结
No1.生成 No.1基础生成 – Faker\Provider\Base $randomDigit = $faker->randomDigit; // 生成0-9之间的随机数 $randomD ...
最新文章
- 一. 对spring boot认识
- 非参数密度估计(直方图与核密度估计)
- 【RUST官方语言中文翻译】前言
- 目标检测二十年间那些事儿——加速与优化
- 孩子们的游戏(圆圈中最后剩下的数)
- html中的灵动标签,《帝国网站管理系统》一招鲜吃天遍天系列教程之 灵动标签使用...
- html同时用多个css,多类选择器的运用_html/css_WEB-ITnose
- dubbogo PMC何鑫铭:没有热爱就做不成这件事情
- 从零学会SQL:入门(实操演示)
- Spine 1.73+ 和谐版
- ISO 14001环境管理体系中环境因素的识别
- Zookeeper服务启动不了_zookeeper集群启动
- 十二个开源UML工具
- 区块链+区域性股权市场:背景、思路与模式探索
- UAV进阶论文和书籍
- Scan Context回环检测解读和使用
- 阿里云ECS服务器搭建Mysql数据库
- ZBrush中的三种对称类型的完美运用
- 微信小游戏 - 小游戏 vs H5 游戏性能对比和分析
- 猫狗大战——基于TensorFlow的猫狗识别(1)
热门文章
- 封装Email发送多个附件以及多个发件人随机发送(附带一些微小注意点)
- 日常生活小常识,你知道多少呢?
- java 接口重载_java,_java 接口中如何声明类似于重载的方法?,java - phpStudy
- 个人家庭宽带如何使用和设置公网IP
- python程序文件的扩展名称-Python源代码程序编译后的文件扩展名为( )。_学小易找答案...
- 【科研论文】审稿人的回复技巧
- Intel ax200 WiFi6吞吐量测试
- 分治算法——芯片测试
- Thinkpad利用APS玩出重力感应
- python飞机大战游戏_Python3实现飞机大战游戏