完美的equals方法的建议

本文介绍了一个Java类中equals方法的实现案例,该方法通过一系列步骤确保对象比较的一致性和准确性,包括引用检查、空值判断、类型确认及字段比对。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class TestEquals {
    private String field1;

    private String field2;

    /**
     * 完美的equals方法的建议
     * @param otherObject
     * @return
     */
    @Override
    public boolean equals(Object otherObject) {
        //检测this与otherObject是否引用同一个对象
        if (this == otherObject) {
            return true;
        }
        //检测是否为null
        if (otherObject == null) {
            return false;
        }
        //比较this与otherObject是否是同一个类,如果所有的子类都拥有统一的语义,就使用instanceof检测
        if (getClass() != otherObject.getClass()) {
            return false;
        }
        //类型转换
        TestEquals other = (TestEquals)otherObject;
        //对域进行比较
        return this.field1.equals(other.field1) && this.field2.equals(other.field2);
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值