【沉浸式解决问题】Generating equals/hashCode implementation but without a call to superclass, even though...

Generating equals/hashCode implementation but without a call to superclass 文章目录Generating equals/hashCode implementation but without a call to superclass1、lombok 警告,没有注入父类的字段2、解决方式一:直接在子类上声明 @EqualsAndHashCode(callSuper = true)3、解决方式二[推荐]:在项目的src/main/java根目录下创建lombok配置文件1、c... 阅读详情
AI摘要

博客主要讲述在实体类使用Lombok的@Data注解后,Idea出现黄色警告的问题。分析原因是@EqualsAndHashCode默认设置导致比较对象时不调用父类方法。给出两种解决方案,一是添加@EqualsAndHashCode(callSuper = true)注解,二是使用lombok.config文件进行全局配置。

一、问题描述

在实体类上使用了Lombok的@Data注解后,idea爆黄色警告,虽然不影响使用,但还是解决一下,警告如下:

Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add ‘(callSuper=false)’ to your type.

在这里插入图片描述


二、场景还原

1. 实体类

@Data
public class ConnectTest extends Model<ConnectTest> {
    private Integer id;
}

三、原因分析

该警告的直接意思是,生成了 equals/hashCode 的实现,但是没有调用父类,虽然该类没有继承 java.lang.Object,人话就是说 equals/hashCode需要比较父类,不然你直接继承java.lang.Object好了,如果你是专门的,需要添加(callSuper=false)明示一下。

原因是@Data注解中包含了@EqualsAndHashCode注解,而 @EqualsAndHashCode 默认就是 callSuper=false,这样在通过equals/hashCode比较两个对象时不会调用父类的equals/hashCode方法,也就不会比较父类传承过来的字段,那有可能就会出错,一般来说,还是比较的好。当然,比如你的父类是基类,只包含创建时间之类的东西,根据业务不用比较。


四、解决方案

1. @EqualsAndHashCode(callSuper = true)

点击下面的提示,idea会自动添加@EqualsAndHashCode(callSuper = true)注解,或者自己添加上。
在这里插入图片描述
就不再报警告了
在这里插入图片描述

2. lombok.config

那如果有很多类,一一添加很麻烦,还不好看,有什么省事的办法吗?有的,兄弟,lombok插件提供了自己的配置文件lombok.config,里面可以一次性配置全体。

lombok.equalsAndHashCode.callSuper=call

可以看到@Data的注解警告也没有了
在这里插入图片描述
lombok.config文件可以放在项目根目录下,也可以放在模块下,只对该模块生效,src/main/java或者src/main/java/entity都可以,至少在实体类的上级或者同级目录。


喜欢的点个关注吧><!祝你永无bug!

/*
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            佛祖保佑       永无BUG
*/
Java - Generating equals/hashCode implementation but without a call to superclass, even though this 方法,以确保遵循Java对象的通用约定。这个约定规定,相等的对象必须具有相等的哈希码。方法首先检查引用是否相等,然后检查是否是同一类型的对象,并执行其他比较逻辑。方法的调用,可能会导致不符合预期的行为,尤其是在与集合类一起使用时。方法中包含对父类方法的调用,以遵循Java的通用约定。这个提示的意思是,尽管你的类没有显式地继承。因此,如果遇到这个提示,你应该确保在生成的。方法根据对象的字段生成哈希码。如果生成的方法没有包含对父类。方法时,通常应该调用父类的。方法中却没有调用父类的。方法时可能会遇到的。 阅读详情

相关推荐

用VINS-Fusion跑通EuRoC数据集:Ubuntu22.04+ROS2环境下的保姆级评测指南

本文详细介绍了在Ubuntu22.04和ROS2 Humble环境下使用VINS-Fusion处理EuRoC数据集的完整流程。从环境配置、数据集转换到参数调优和性能评估,提供了一套全面的多传感器融合分析方案,帮助开发者在无人机精准定位场景中实现高效部署与优化。

weixin_29212867的博客 517

springboot mybatis 整合druid

springboot mybatis整合druid 添加依赖 <!-- 事务管理aop、jdbc依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency&

Yweir的博客 686

Delphi开发者必备:CEF4Delphi跨平台浏览器嵌入实战指南(含Lazarus适配)

本文详细介绍了Delphi开发者如何利用CEF4Delphi实现跨平台浏览器嵌入,包括环境配置、Lazarus适配、ARM架构优化及Firemonkey集成等实战技巧。通过Chromium引擎的强大功能,开发者可以轻松为传统桌面应用添加现代浏览器特性,提升多平台开发效率。

weixin_29233333的博客 226

Lombok:Generating equals/hashCode implementation but without a call to superclass......

Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add '(callSuper=false)' to your type.

不管风吹浪打,胜似闲庭信步 4630

【随机过程】 3 - 随机过程的频域分析1 - 功率谱

随机过程的频域分析 文章目录随机过程的频域分析1. 什么是谱2. 确定信号的频谱2.1 周期信号的频谱2.2 非周期信号的频谱3. 随机信号的谱3.1 随机信号做傅里叶分析的困难3.2 功率谱密度的物理和数学表示形式3.2.1 功率谱密度的物理表示3.2.2 功率谱密度的数学表示3.3 功率谱密度的解读3.3.1 量纲分析3.3.2 谱3.3.3 密度3.3.4 wiener和khinchin3.4 功率谱密度的性质3.4.1 非线性3.4.2 偶函数3.5 wiener-khinchin关系的应用3.6

qq_41741344的博客 3131

【Python・统计学】(两)多因素方差分析(原理及代码)

自学笔记,分享给对统计学原理不太清楚但需要在论文中用到的小伙伴,欢迎大佬们补充或绕道。ps:本文不涉及公式讲解(文科生小白友好体质)~(部分定义等来源于知乎) 本文重点:多因素方差分析 【1.多因素方差分析简单原理】 【2.多因素方差分析步骤】 【3.多因素方差分析代码】

TUTO_TUTO的博客 4864

Redis 缓存系列:springboot整合redis(一)

创建springboot项目 既然上面已经创建了springboot项目,pom文件里面也导入了redis的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency&g

一天不写代码难受的博客 955

P+F--r2000激光雷达slam技术实现

P+F--r2000激光雷达slam技术实现

majingming123的博客 1667

【错误警告】Generating equals/hashCode implementation but without a call to superclass

小问题也要注意,尽量修复,免得墨菲定律引起错误。

橘足轻重的博客 4762

基于 Qt C++ 的 船舶导航系统 UI

你想实现一个基于 **Qt C++** 的 **船舶导航系统 UI**,核心功能包括 **Qt Quick** 电子海图显示和 **NMEA 0183** 协议解析。"断开" : "连接"创建一个 Qt Quick 项目,选择 **Qt 6** 版本,确保勾选 **Qt Quick**、**Qt Network** 和 **Qt SQL** 模块。Label { text: "纬度:" }3. **连接设备**:点击 "连接" 按钮连接到 GPS 设备或模拟数据源。title: "连接设置"

寒寒豆豆软件公司的博客 127

PS射击游戏射线检测优化:原理、工程与全链路高性能实现

射线池:减少GC,提升批量检测效率。分层检测:先粗后细,远距离射击高效判定。批量检测:并行处理,适合大量射线场景。空间结构:进一步加速大场景检测。下面继续深入射线检测优化,补充更多实用细节和进阶技巧,包括空间分区加速、射线检测多线程/异步化、射线合并与分帧、射线池通用模板、常见性能陷阱与调优建议等。对于极端性能需求,可自定义轻量级物理系统,仅检测关键对象(如玩家、子弹),跳过复杂物理引擎。结合AABB、OBB、球体等简单碰撞体,射线-包围体检测极快。空间分区+分层检测是大场景射线优化核心。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 434

lombok注解@Data使用在继承类上时出现警告解决方案

lombok注解@Data使用在继承类上时出现警告解决方案

吴名氏的博客 13万+

Python爬虫实战:利用Selenium与异步技术高效获取雪球财经数据

雪球财经作为国内领先的投资社交平台,汇聚了大量股票数据、财经资讯和投资者观点。对于金融数据分析师、量化投资者和研究人员来说,获取雪球平台的实时数据具有重要价值。然而,雪球网站采用了多种反爬虫机制,包括动态内容加载、请求频率限制和用户行为检测等,使得传统爬虫技术难以有效获取数据。本文将介绍如何使用Python的最新爬虫技术,包括Selenium WebDriver、异步请求处理和智能等待策略,来高效、稳定地爬取雪球财经数据。我们将重点解决以下几个技术难点:动态加载内容的处理登录状态维持与模拟。

2201_76125261的博客 1106

Lombok 警告:Generating equals/hashCode implementation but without a call to superclass

Lombok 警告:Generating equals/hashCode implementation but without a call to superclass

weixin_52173250的博客 1007

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Lombok 注解 @Data 使用在继承类上时出现警告:Generating equals/hashCode implementation but without a call to supercl

这个警告是 Lombok 插件生成代码时的一个提醒,它表示在生成 equals 和 hashCode 方法时,没有调用父类的方法,尽管你的类并不直接继承自java.lang.Object。在Java中,通常在子类中重写equals和hashCode方法时,会调用父类的这些方法,以确保继承链的完整性和一致性。

是微风,是晚霞,是无可替代 1425

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IDEA使用lombok时warn:Generating equals/hashCode implementation but without a call to superclass

Generating equals/hashCode implementation but without a call to superclass 1、lombok 警告,没有注入父类的字段 当我们给一个继承了父类的子类上使用@Data @ToString @EqualsAndHashCode 注解时,IDE 会警告 Generating equals/hashCode implemen...

INGNIGHT的专栏 2万+

IDEA批量解决Lombok警告,开发者必备技巧!

根据阿里的编码规范,如果重写了equals必须要重写hashCode方法。如果不重写可能会导致某些基于散列的数据结构(例如HashSet、HashMap等)出现问题。所以最好对于有一些警告,能处理就处理掉。

沛哥儿的专栏 1476

IDEA中Lombok警告解决

IDEA中Lombok警告 当我们给一个继承了父类的子类上使用@Data、@ToString、@EqualsAndHashCode 注解时,IDEA 会发出警告,大概内容如下: Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add ‘(cal

daiyi666的博客 3064

Warning:(16, 1) java: Generating equals/hashCode implementation but without a call to superclass, ev

Warning:(16, 1) java: Generating equals/hashCode implementation but without a call to superclass, ev 这个错误我跑了以下maven的conmmon 公共类install就可以解决了

m0_56463670的博客 1499

Generating equals/hashCode implementation but without a call to superclass, even though this class

实体类中加入 @Data 后编译出现警告 java: Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add '@EqualsAndHashCode(callSuper=false)' to your type. 解决方法: 在实体类中加入 @

qq_38849191的博客 1975

lombok注解@Data使用在继承类上时出现警告

lombok为我们提供了@Data注解,帮助我们省略了@Setter,@Getter,@ToString等注解,一般对于普通的实体类使用该注解,不会出现什么问题,但是当我们把这个注解,使用在派生类上,就出现了一个小问题。 基类: 派生类: @Data注解的地方会出现警告: 出现的警告信息: Generating equals/hashCode implementation ...

feinifi的博客 6万+

Lombok,@Data - Generating equals/hashCode implementation but without a call to superclass

简而言之参考。

xybz1993的博客 606

lombok注解@EqualsAndHashCode用处

Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add '(callSuper=false)' to your type.

此成非彼诚博客 2066

lombok 编译警告

Warning:(18, 1) java: Generating equals/hashCode implementation but without a call to superclass, ev 解决方案: 1. 按照提示 添加新的注解即可 2. 在src/main/java 下,添加 lombok.config 文件内容为: config.stopBubbling=true lombok.equalsAndHashCode.callSuper=call ...

龙行九天的专栏 590

【Springboot】注解EqualsAndHashCode

【Springboot】注解EqualsAndHashCode

学无止境 1104
上一篇: 【AI问答】Java中getPath、getAbsolutePath、getCanonicalPath有什么不同?
下一篇: 【转载】lombok.config配置详解(lombok-1.18.28全)
荔枝吻
博客等级 码龄5年 533粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝吻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值