请你说说hashCode()和equals()的区别,为什么重写equals()就要重写hashcod()
区块链毕设网qklbishe.com为您提供问题的解答
请你说说hashCode()和equals()的区别,为什么重写equals()就要重写hashcod()
得分点 hashCode()用途,equals()用途,hashCode()、equals()约定 标准回答 1、hashCode():获取哈希码,equals():比较两个对象是否相等。 2、二者两个约定:如果两个对象相等,它们必须有相同的哈希码;若两个对象的哈希码相同,他们却不一定相等。也就是说,equals()比较两个对象相等时hashCode()一定相等,hashCode()相等的两个对象equqls()不一定相等。 3、加分回答:由于hashCode()与equals()具有联动关系,equals()重写时,hashCode()进行重写,使得这两个方法始终满足相关的约定。
21:56
得分点: hashCode()用途,equals()用途,hashCode()、equals()约定 标准回答: (1) hashCode()方法的主要用途是获取哈希码,equals()主要用来比较两个对象是否相等。 (2)二者之间有两个约定,如果两个对象相等,它们必须有相同的哈希码;但如果两个对象的哈希码相同,他们却不一定相等。也就是说,equals()比较两个对象相等时hashCode()一定相等,hashCode()相等的两个对象equqls()不一定相等。 加分回答: (1) Object类提供的equals()方法默认是用==来进行比较的,也就是说只有两个对象是同一个对象时,才能返回相等的结果。 (2)实际的业务中,我们通常的需求是,若两个不同的对象它们的内容是相同的,就认为它们相等。 (3)鉴于上述情况,Object类中equals()方法的默认实现是没有实用价值的,所以通常都要重写。 (4)由于hashCode()与equals()具有联动关系,所以equals()方法重写时,通常也要将hashCode()进行重写,使得这两个方法始终满足相关的约定。
46:48
以上就是关于问题请你说说hashCode()和equals()的区别,为什么重写equals()就要重写hashcod()的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训