有的时候,我们需要重写一个类的@equals@hashcode方法,就可以使用@EqualsAndHashCode注解。

官网上大致是这样介绍@EqualsAndHashCode注解的:

  • 此注解会生成equals(Object other) 和 hashCode()方法。
  • 它默认使用非静态,非瞬态的属性
  • 可通过参数exclude排除一些属性
  • 可通过参数of指定仅使用哪些属性
  • 它默认仅使用该类中定义的属性且不调用父类的方法
  • 可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。

另:@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集。

发表评论