【问题处理】—— lombok 的 @Data 大小写区分不敏感

2023-12-14 11:37:22

问题描述

今天在项目本地编译的时候,发现有个很奇怪的问题,一直提示某位置找不到符号,
在这里插入图片描述
但是实际在Idea中显示确实正常的,一开始以为又是IDEA的故障,所以重启了IDEA,并执行了mvn clean然后重新编译。但是问题并没有得到解决
在这里插入图片描述


原因分析:

这段代码最近没人改动过,所以很疑惑,所以点进了对应的类中,发现昨日有人提交了一个新字段,而且与一个原有字段非常像,只有一个字母大小写的问题,难道加字段加出的问题?
在这里插入图片描述

因为这个类使用的@Data注解,根据以往的经验,我感觉可能是lombok在处理类似字段时出现了问题,并没有为第二个字段创建get set方法,于是我自己建了个类,并对其编译生成的类反编译。

在这里插入图片描述

果然,只有第一个字段创建了get set方法,第二个字段完全被忽略了

在这里插入图片描述

那么问题的原因已经定位到了,其实就是 lombok 的一个bug,就在我准备去github上提bug的时候,发现其实很早就有人提过了,如下图:

在这里插入图片描述

而当时开发者则认为这不是bug,而是根本就不该在一个类里出现这么两个只有大小写不同的字段,随即关闭了这个问题

在这里插入图片描述

作者这么说其实问题也不大,编程本身就是有很多规范,框架基于规范配合,如果你没有严格遵守规范导致的Bug,不给修复也属于正常


解决方案:

手写get set方法即可包治百病,直接使用Idea 帮我们生成
在这里插入图片描述
在这里插入图片描述
把@Data注解去掉后再编译一遍,发现就编译恢复正常了
在这里插入图片描述
在这里插入图片描述

文章来源:https://blog.csdn.net/u011709538/article/details/134988879
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。