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

这篇具有很好参考价值的文章主要介绍了【问题处理】—— lombok 的 @Data 大小写区分不敏感。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

今天在项目本地编译的时候,发现有个很奇怪的问题,一直提示某位置找不到符号,
【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写
但是实际在Idea中显示确实正常的,一开始以为又是IDEA的故障,所以重启了IDEA,并执行了mvn clean然后重新编译。但是问题并没有得到解决
【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写


原因分析:

这段代码最近没人改动过,所以很疑惑,所以点进了对应的类中,发现昨日有人提交了一个新字段,而且与一个原有字段非常像,只有一个字母大小写的问题,难道加字段加出的问题?
【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写

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

【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写

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

【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写

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

【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写

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

【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写

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


解决方案:

手写get set方法即可包治百病,直接使用Idea 帮我们生成
【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写
【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写
把@Data注解去掉后再编译一遍,发现就编译恢复正常了
【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写
【问题处理】—— lombok 的 @Data 大小写区分不敏感,实战问题解决,intellij-idea,java,ide,lombok,大小写文章来源地址https://www.toymoban.com/news/detail-768863.html

到了这里,关于【问题处理】—— lombok 的 @Data 大小写区分不敏感的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【现场问题】flink-cdc,Oracle2Mysql的坑,Oracle区分大小写导致

    Column ‘id’ is NOT NULL, however, a null value is being written into it. You can set job configuration ‘table.exec.sink.not-null-enforcer’=‘DROP’ to suppress this exception and drop such records silently 大致意思就是不能插入为空的数值。 为什么会报这个错误,我们来看DML的执行语句: insert into t_wx_target select

    2024年02月12日
    浏览(44)
  • MySQL:区分大小写

    本文有点不准,仅作参考;可以使用MySQL的大小写相互转换,再拼接or来规避 查看MySQL版本 show variables;  1、查看 MySQL 当前的区分大小写设置: SHOW VARIABLES LIKE \\\'lower_case_table_names\\\'; 或者 show Variables like \\\'%table_names\\\' 2、更改大小写敏感设置: 在 MySQL 5.7 中,更改大小写敏感设置要

    2024年02月03日
    浏览(83)
  • hive查询区分大小写

    在Hive中,默认情况下,字段名是不区分大小写的,这意味着在查询中使用大写或小写字母来引用字段名称都是可以的。其实mysql也是一样的,大部分都不会区分大小写。 但是在部分业务场景时需要对这类数据进行处理,有这么几个方法可以尝试尝试。 启用此模式后,Hive将严

    2024年02月13日
    浏览(53)
  • mysql 索引 区分字符大小写

    mysql 建立索引,特别是unique索引,是跟字符集、字符排序规则有关的。 对于utf8mb4_0900_ai_ci来说,0900代表Unicode 9.0的规范,ai表示accent insensitivity,也就是“不区分音调”,而ci表示case insensitivity,也就是“不区分大小写”。 上述这种数据,如果选了  那么会报错,因为mysql认

    2024年02月12日
    浏览(52)
  • PostgreSQL 是不是大小写敏感

    如果你踩过 MySQL 的大坑的话就知道:MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。 如果你稍加不注意就会出现在本机开发的程序运行一切正常,发布到服务器行就出现表名找不到的问题。 这是我们前一个项目遇到的巨大问题,开发是在 Windows 下进行,但是

    2024年01月25日
    浏览(52)
  • 【C++】STL 算法 ⑦ ( 二元谓词使用场景 - 大小写不敏感 set 集合 | tolower 函数 - 将字符转为小写字母 | 基于 tolower 实现大小写不敏感的比较函数对象 )

    本篇博客中 , 实现一个 set 集合 , 存放 英文字母 组成的字符串 , 且 大小写不敏感 ; 实现的方法 : 自定义字符串 对比排序规则 , 先 将 字符串 都转为小写字母 , 然后进行对比 ; tolower 函数是 C / C++ 标准库 中的函数 , 其作用是 将 字符从 大写形式 转换为 小写形式 , 该函数定义

    2024年02月02日
    浏览(63)
  • MySQL | MySQL不区分大小写配置

    MySQL 表内数据条件查询不区分大小写是因为排序规则的问题. 在MySQL中,InnoDB存储引擎默认的字符集是utf8,utf8mb4等,这些字符集再存储数据时没有指定排序规则的话,会默认使用 utf8_general_ci或utf8mb4_general_ci 作为表的排序规则,那么该表内的数据讲不区分大小写,这两种排序规则都是

    2024年02月04日
    浏览(53)
  • mysql设置不区分表名大小写

    MySql默认是区分表名大小的,为了不区分表名大小写,我们需要完成以下配置 十分简单 1.使用root用户,修改/etc/my.cnf文件 在[mysqld]下添加 lower_case_table_names=1 2.重启mysql service mysqld restart 这样就可以执行查询看结果啦

    2024年02月15日
    浏览(47)
  • es-已有mapping,实现查询不区分大小写

    一、写在前面 es查询默认区分大小写 二、实现原理 normalizer 是  keyword 的一个属性 参考 听说你还没掌握 ElasticSearch Normalizer 的使用方法?_yinni11的博客-CSDN博客 二、实现区分大小写的三种方案  方案一:直接创建对应的mapping 适用于还没有创建mapping的场景  方案二:新建map

    2024年01月19日
    浏览(52)
  • JavaScript 第三章(大小写敏感性与空白字符)

    在编写JavaScript代码时,我们需要注意一些关键的规则和约定,以确保代码的正确性和可读性。本文将深入解析JavaScript对程序文本的处理,包括大小写敏感性和空白字符的处理。 我们需要了解的是,JavaScript是一门区分大小写的语言。这意味着在JavaScript中,、变量名、

    2024年02月22日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包