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

问题背景

用Lombok的@Data注解的时候,因为封装了一个公共的Base基础类,总是会提示以下警告提示:

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. 
 检查信息: 提供 Lombok 注解的一般检查。

具体会有哪些问题呢?

 Generating equals/hashCode implementation but without a call to superclass。就是父类的属性不会自动加上。

有点让人不喜。

解决办法

给的建议是直接增加以下注解进行解决 

@EqualsAndHashCode(callSuper = true)

问题是可以解决,但是每个都要改,特别是微服务的这种比较大的工程。修改起来就麻烦多了。

有没有什么好办法,这个还真是有。

现在可以直接在工程的根目录或者src目录下下创建一个lombok.config文件。

然后再在里面添加两行代码就可以去掉了。

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

然后再看代码,发现@Data的波浪线没了。

总结

根据阿里的编码规范,如果重写了equals必须要重写hashCode方法。如果不重写可能会导致某些基于散列的数据结构(例如HashSet、HashMap等)出现问题。

所以最好对于有一些警告,能处理就处理掉

猜你喜欢

转载自blog.csdn.net/m290345792/article/details/132716932