EqualsAndHashCode
时间: 2023-12-05 11:41:39 浏览: 96
hashcode()和equals()
EqualsAndHashCode是一个注解,它可以帮助我们自动生成equals(Object other)和hashCode()方法。在使用该注解时,它默认使用非静态、非瞬态的属性来生成这两个方法。我们可以通过exclude参数来排除一些属性,也可以通过of参数来指定仅使用哪些属性。默认情况下,它仅使用该类中定义的属性且不调用父类的方法,但我们可以通过设置callSuper=true来让其生成的方法中调用父类的方法。下面是一个使用示例:
```java
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true, of = "id")
public class Animal {
private int id;
private String name;}
```
在这个示例中,我们使用了@Data、@AllArgsConstructor和@EqualsAndHashCode注解来自动生成Animal类的getter、setter、构造函数、equals和hashCode方法。其中,@EqualsAndHashCode注解中的callSuper参数设置为true,表示在生成equals和hashCode方法时调用父类的方法;of参数设置为"id",表示仅使用id属性来生成这两个方法。
阅读全文