使用lombok踩的一些坑

文章讨论了Lombok与IntelliJIDEA在生成Get和Set方法时的不同,因Lombok首字母大写规则导致与IDEA默认小写规则冲突。IDEA为兼容工具如SpringBoot的Jackson,采用特殊策略生成非标准的Getters,以适应不同场景的需求。

一、有些情况Get/Set方法与Idea生成的不一样

当实体类字段名第一个字母为小写,第二个字母大写时,例如:tId,会导致lombok的Get/Set方法与Idea生成的不一样。

lombok:

public Integer getTId()

public void seTId(Integer tId)

Idea:

public Integer gettId()

public void settId(Integer tId)

可以看到lombok把第一个字母T大写了,很标准!

但是使用Idea生成的第一个字母为小写的t,就很奇怪,但是Idea为什么要这么生成呢?



原因是使用有些工具时,例如SpringBootJackson,它生成和解析时会用到Get/Set方法,它生成时会找到实体类的gettId方法,然后从左至右将大写字母小写化,知道遇到小写字母停止,这样就截取到了需要生成的字段tId。如果是使用的lombok,它会得到tid,两者的i一个是大写一个是小写,而我们需要的肯定是大写的,所以这就是为什么Idea出现这种情况时要生成这种不标准的Get/Set方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值