前言
最近在写需求时,看到@Data有个提示:
这段提示是在你使用Lombok或IntelliJ IDEA工具生成Java类的equals
和hashCode
方法时可能会遇到的。
为什么会提示这个?
这段提示指的是在生成Java类的equals
和hashCode
方法时,生成的方法没有调用父类的equals
和hashCode
方法。
在Java中,所有类都隐式继承自java.lang.Object
类。而Object
类中有两个重要的方法:equals()
和hashCode()
。
这两个方法是用于比较对象是否相等和生成对象的哈希码的。因此,当你重写一个类的equals()
和hashCode()
方法时,通常需要在这些方法中调用父类Object
的对应方法,以确保遵循Java对象的通用约定。
生成的equals
和hashCode
方法通常应该像这样:
@Ov