lombok 警告

本文介绍了在使用Lombok时遇到的警告:'Generating equals/hashCode implementation but without a call to superclass'。该警告表示子类的@Data等注解未包含父类字段。解决方案包括在子类上添加@EqualsAndHashCode(callSuper = true)注解或创建全局的Lombok配置文件,设置lombok.equalsAndHashCode.callSuper=call以避免重复声明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

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

**

Generating equals/hashCode implementation but without a call to superclass

**

1、lombok 警告,没有注入父类的字段

当我们给一个继承了父类的子类上使用@Data @ToString @EqualsAndHashCode 注解时,IDE 会警告

Generating equals/hashCode implementation but without a call to superclass

意思是,该注解在实现 ToString EqualsAndHashCode 方法时,不会考虑父类的属性,通过反编译的源码也是可以看到他是没有对父类的字段进行比较的

2、解决方式一:直接在子类上声明 @EqualsAndHashCode(callSuper = true)

3、解决方式二[推荐]:在项目的src/main/java根目录下创建lombok配置文件 请注意,该方式有版本要求,最低为lombok 1.14

如果是IDEA ,创建该配置文件会被IDEA 以一个黄色的小配置图标进行显示

配置文件的配置内容如下

config.stopBubbling=true
lombok.equalsAndHashCode.callSuper=call

1、config.stopBubbling=true
该配置声明这个配置文件是一个根配置文件,他会从该配置文件所在的目录开始扫描

2、lombok.equalsAndHashCode.callSuper=call
全局配置 equalsAndHashCode 的 callSuper 属性为true,这样就不用每个类都要去写了

3、lombok 配置的分层
lombok 配置文件支持分层,在根目录配置的的配置文件对全局生效,如果某个子包中也有配置文件,则子包的类优先以子包中的配置为准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值