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

news/2024/7/16 8:07:01 标签: intellij-idea, java, ide, lombok, 大小写

问题描述

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


原因分析:

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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


解决方案:

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


http://www.niftyadmin.cn/n/5261773.html

相关文章

SM4加密算法的侧信道攻击实现

SM4 算法有多个位置存在泄漏点,如下图所示: 在位置1和2,可以逐个字节攻击密钥,因为密钥和中间结果之间没有扩散,这时通常取Sbox的输出作为攻击点,因为在位置2处的功耗是大于位置1的,但是在FPGA…

map|二分查找|离线查询|LeetCode:2736最大和查询

本文涉及的基础知识点 二分查找算法合集 题目 给你两个长度为 n 、下标从 0 开始的整数数组 nums1 和 nums2 ,另给你一个下标从 1 开始的二维数组 queries ,其中 queries[i] [xi, yi] 。 对于第 i 个查询,在所有满足 nums1[j] > xi 且…

梯度爆炸实验

造成简单循环网络较难建模长程依赖问题的原因有两个:梯度爆炸和梯度消失。一般来讲,循环网络的梯度爆炸问题比较容易解决,一般通过权重衰减或梯度截断可以较好地来避免;对于梯度消失问题,更加有效的方式是改变模型&…

绕过Defender/360/火绒导出Lsass进程

项目地址: https://github.com/trustedsec/COFFLoader python3 beacon_generate.pypython3 beacon_generate.py Beacon Argument GeneratorBeacon>addint lsass进程IDBeacon>addString output.dmpBeacon>addint 1Beacon>addint 1Beacon>addint 0Beacon>a…

npm安装,idea中启动vue失败

node 设置配置之后,要查询时,会从.npmrc中读取路径 .npmrc自己创建的(默认情况下.npmrc会创建在C盘中) 我创建的在D:\studay-and-working\node16.14\node_modules\npm中 指定.npmrc文件,因为默认会访问C盘的.npmrc文件…

【Git命令】拉取代码并提交修改到指定分支的基本流程

使用Git命令来拉取代码并提交修改到指定分支的基本流程 1、克隆仓库中的代码到当前文件夹 git clone <仓库URL>这里的 <仓库URL> 是你想要拉取代码的仓库的 HTTPS URL 或 SSH URL 2、切换到所需的分支。默认情况下,会自动创建一个名为 master 的主分支。若要切…

【软考】-- 信息系统项目管理师(高级)历年论文题目

考试年度 试题一 试题二 2023年下11.05 资源管理 2023年下11.04 合同管理 2023年下10.29 工作绩效域 2023年下10.28 干系人管理 2023年上 风险管理 2022年下 质量管理 2022年上 干系人管理 2021年上 范围管理 合同管理 2020年下 成本管理 采购管理 2019…

《PySpark大数据分析实战》-08.宽窄依赖和阶段划分

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…