首页 > 其他 > 详细

set集合存对象的时候是如何判断是不是同一个对象,其中含有重写equals方法和hashcode方法 后续

时间:2021-04-08 14:54:14      阅读:14      评论:0      收藏:0      [点我收藏+]

一开始,set集合里面只存进一个对象,

技术分享图片

 

存第二个对象时候,由于重写了hashcode方法,只要价格都是10就返回1,所以hashcode一样的话,再去进行equals方法判断,此时这个也重写了,this代表的当前这个要想集合里面添加的对象,

也就是two,而括号里面传的要比的对象,也就是one,因为他俩名字一样,所以返回了true,认定为是同一个对象。后来再向集合添加three的时候,你会发现并没有走返回true这个逻辑,而是这直接走

下面的object对象的equals方法里,一个是当前对象three的名字测试1,而另一个就是集合里一开始存进去的对象,名字是测试,返回的结果当然是false,所以就认定为不同对象,就存进集合里了。

 技术分享图片

 

 技术分享图片

 

set集合存对象的时候是如何判断是不是同一个对象,其中含有重写equals方法和hashcode方法 后续

原文:https://www.cnblogs.com/ForeverLoveByMe/p/14631496.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!