java的equals方法和hasCode的恩恩怨怨

当使用equals方法比较自定义类对象时,通常需要重写equals和hashCode方法。这是因为根据Java的规定,如果两个对象equals相等,它们的hashCode必须相同。而equals不等时,hashCode可能相同也可能不同。重写这两个方法确保了对象在哈希表中的正确比较和存储。
摘要由CSDN通过智能技术生成

我们都知道equals可以用来比较两个字符串的内容是否一样,那当我们那equals方法去比较其他对象(一般是我们自定义的类创建的对象)的时候,往往需要重写equals方法。而重写equals方法的手 ,java往往也要求我们重写hasCode方法。这是为什么呢?原因就是,两个对象equals为true,那么hashCode必须一样【规定】,两个对象equals为fase,那么hashCode可能一样,也可能不一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值