继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

重写equals()方法必须要重写hashCode()方法?

慕运维2858188
关注TA
已关注
手记 123
粉丝 63
获赞 512
==

“==”对比两个对象基于内存引用,如果两个对象的引用完全相同(指向同一个对象)时,“==”操作将返回true,否则返回false。

equals

equals()方法定义在Object类里面,根据具体的业务逻辑来定义该方法,用于检查两个对象的相等性。默认的equals方法实现是与“==”操作一样的

hashCode

hashCode()方法被用来获取给定对象的唯一整数。默认的Object类的hashCode()方法返回这个对象存储的内存地址的编号。

结论
    尽量保证使用对象的同一个属性来生成hashCode()和equals()两个方法。

    eqauls方法必须保证一致(如果对象没有被修改,equals应该返回相同的值)

    任何时候只要a.equals(b),那么a.hashCode()必须和b.hashCode()相等。

    两者必须同时重写。
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP