Lombok的@EqualsAndHashCode注解

@EqualsAndHashCode注解,自动在 bean上生成hashCode和equals方法,

demoTest
@Data
public class Fu {
    private String name;
    private String code;

    public Fu(String name, String code) {
        this.name = name;
        this.code = code;
    }
}

@Data
@EqualsAndHashCode
public class Zi extends Fu {
    private String address;
    private Integer crd;

	// 在子类构造方法中加上父类中的属性
    public Zi(String address, Integer crd, String name, String code) {
        super(name, code);
        this.address = address;
        this.crd = crd;
    }
}

public class DemoTest {
    public static void main(String[] args) {
    	// 此时子类有父类的属性,测试时设置父类的属性一致
        Zi zi1 = new Zi("address", 22, "ll", "ll");
        Zi zi2 = new Zi("address", 22, "ww", "ww");
        System.out.println("result: " + zi1.equals(zi2));

        // @EqualsAndHashCode(callSuper = false),callSuper默认的属性是false
        // result: true
		// 此时equals不会考虑到父类的情况,只根据子类自己的属性来判断是否相同

		// @EqualsAndHashCode(callSuper = true)
        // result: false
		// callSuper=true时,不仅会判断子类中的属性,还会判断父类属性是否相同
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值