hashcode和equals的区别
你非良人
精选回答
equals和hashCode方法主要的区别在于:性能,可靠性;对于需要大量并且快速对比,如果都用equals比较效率太低,所以每当需要对象比较时,先用hashCode对比,如果hashCode值不一样,两对象肯定不相等,也就没必要再用equals比较。
一、hashcode和equals的区别
equals和hashCode方法主要的区别在于:性能,可靠性;
equals方法:因为hashCode并不是完全可靠的,有时候不同的对象生成的hashCode也可能一样(生成hashCode值的公式可能存在问题),所以hashCode并不是完全可靠的,只能通过equals保证两个对象确实相等。
hashCode方法:因为重写equals方法比较复杂,调用equals方法比较对象是否相等的效率比较低,而利用hashCode进行对比,只需要生成一个hash值进行比较就可以,效率较高。
实际应用:对于需要大量并且快速对比,如果都用equals比较效率太低,所以每当需要对象比较时,先用hashCode对比,如果hashCode值不一样,两对象肯定不相等,也就没必要再用equals比较,如果hashCode相等,再用equals对比,euqals相同则表示这两个对象确实相同,既提高了执行效率也保证了可靠性。
做人实称点 2023-08-28 16:39:33
相关推荐
在西周以下哪一个诸侯国是功臣国
在西周以下宋国诸侯国是功臣国,西周初期,周公旦辅佐周成王平定三监之乱,遵循“兴灭继绝”的传统,于公元前1114年封商纣王的兄长微子启于商朝的旧都商丘,建立宋国,特准其用天子礼乐奉商朝宗祀,与周为客。宋国地位特殊...
展开详情伊洛纳银猫在哪里抓
1、玩家可以在菜洞1层、2层的位置刷出银猫,玩家将银猫打出表情就可以进行捕捉了。2、地宫中的银猫属于中立,玩家无法进行抓捕,不过可以使用瓶子砸,砸成敌对的之后就可以抓了,也是打出表情之后进行抓捕。3、玩家在捕捉...
展开详情土木工程帽子的区别
土木工程在工地佩戴的安全帽分为红色、黄色、蓝色、白色四种颜色。红色为管理人员;黄色为运行值班人员;蓝色为现场作业人员包括检修、试验、施工等;白色为外来检查以及参观人员。...
展开详情