springboot

SpringBoot中@equalsandhashcode注解怎么用

小亿
120
2024-01-13 03:14:33
栏目: 编程语言

在Spring Boot中,可以使用@EqualsAndHashCode注解来自动生成equals()hashCode()方法。该注解可以应用在类级别上,自动生成基于类中定义的字段的equals()hashCode()方法。

使用@EqualsAndHashCode注解的简单示例:

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class User {
    private String name;
    private int age;
    // 省略构造函数、getter和setter等

    // 在此处可以省略equals和hashCode方法的实现
}

在以上示例中,User类中的equals()hashCode()方法将根据类中的nameage字段自动生成。您可以使用@EqualsAndHashCode注解的exclude属性来排除某些字段,或者使用of属性指定要包含的字段。例如,如果您想要排除age字段,可以使用exclude属性:

@EqualsAndHashCode(exclude = "age")
public class User {
    private String name;
    private int age;
    // 省略构造函数、getter和setter等

    // 在此处可以省略equals和hashCode方法的实现
}

如果您只想根据name字段生成equals()hashCode()方法,可以使用of属性:

@EqualsAndHashCode(of = "name")
public class User {
    private String name;
    private int age;
    // 省略构造函数、getter和setter等

    // 在此处可以省略equals和hashCode方法的实现
}

使用@EqualsAndHashCode注解可以简化代码,并且当类中的字段发生变化时,equals()hashCode()方法会自动更新。

0
看了该问题的人还看了