开发者

Springboot 注解EqualsAndHashCode详解

目录
  • 先看问题,如图所示
  • 注解解释
  • IDEA检查提示并快速修复
  • 测试代码

先看问题,如图所示

Springboot 注解EqualsAndHashCode详解

Springboot 注解EqualsAndHashCode详解

注解解释

VeLhHIKMtX

@EqualsAndHashCode 作用与子类上

  • callSuper = true,根据子类自身的字段值和从父类继承的字段值来生成hashcode,当两个子类对象比较时,只有子类对象的本身的字段值和继承父类的字段值都相同,equals方法的返回值是true。

  • callSuper = false,根据子类自身的字段值php来生成hashcode, 当两个子类对象比较时,只有子类对象的本身的字段值相同,父类字段值可以不同,equals方法的返回值是true。

IDEA检查提示并快速修复

Springboot 注解EqualsAndHashCode详解

正在生成 equals/hashCode 实http://www.devze.com现,但即使此类未扩展 Java.lang.Object,也不调用超类。如果这是有意为之,请在您的类型中添加 ‘(callSuper=false)’。

检查信息: 提供 Lombok 注解的一般检查。

点击后,快速修复添加注解

测试代码

package com.st;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.junit.Test;
/**
 * @author st
 * @date 2024/1/9 15:36
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
class Animal {
    private String name;
}
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
class Cat extends Animal {
    private String age;
    public Cat(String nam编程e, String age) {
        super(name);
        this.age = age;
    }
}
public class TestAnnotation {
    @Test
    public void testCat() {
        Cat cat1 = new Cat("1", "1");
        Cat cat2 = new Cat("2", "1");
        System.out.println(cat1.equals(cat2));
    }
}

到此这篇关于Springboot 注解EqualsAndHashCode的文章就介绍到这了,更多相关Springboot javascript;注解EqualsAndHashCode内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜