JDK源码-Object类中的equals()

JDK源码-Object类中的equals(),第1张

JDK源码-Object类中的equals() Object类中的equals()源码
public boolean equals(Object obj) {
        return (this == obj);
}


重写Object类中的equals()
注意:
1.判断传递的参数是否是this本身,如果是返回true,提高程序效率
2.判断传递的参数是否是null,如果是返回false,提高程序效率
3.在向下转型前去判断类型,防止类型转换异常ClassCastException
//系统生成的重写equals()
@Override
    public boolean equals(Object o) {
//        如果调用的对象和传进来的对象是一样的,那么它们一定相等,直接结束方法并返回true
        if (this == o) return true;
//        如果传递的对象为null(也避免了空指针异常),
//        或者调用该方法的对象和传递进来的对象的字节码对象不一致(说明它们不是同一个类别的东西),就返回false
        if (o == null || getClass() != o.getClass()) return false;

        Cola cola = (Cola) o;

        return code == cola.code &&
                Objects.equals(name, cola.name);
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5717421.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存