两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

答案是不一定,废话不多说直接上案例:

首先我们先找到两个hashcode值相同但是值不同的两个字符串(其实能找到这些数据就已经能说明我们问题的答案是不一定了)

具体怎么找到的其实网上有很多方法,我具体的参照是根据

https://blog.csdn.net/miranaibuai/article/details/107691043

来尝试了几个字符串,结果:

两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

 

 显而易见,hashcode的值是相同的,但是我们的字符串却是不同的字符串

但是,如果我们在设置字符串的时候我们如果一直把值设置相同,那么我们无论测试几次,它的hashcode都是一样的,所以我们的出的结论是

我们可以说两个对象的值相同那么他们的hashcode一定相同,但是两个hashcode相同的对象那么他们的对象的值不一定相同

两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

上一篇:pycharm新建项目与环境选择


下一篇:zip命令