问下大家有两个String x,y那么x.equals(y)为真时,x和y的hashcode不一定一样对吗?

来源:百度知道 编辑:UC知道 时间:2024/09/21 18:15:29

参考JavaAPI的建议规定,实现equals(Object)方法的时候要先实现hashcode方法,并使得二者配合,也就是一旦两个对象比较equals方法返回true,hashcode方法要返回相同的值。

既然是建议方法,那么官方API自然是这么实现的。

错误.

equals的一个原则就是当a.equals(b)为true时,两个引用a和b的hashcode值应该是相同的

因此在重写equals方法时,同时也需要改写hashCode方法...

作为一个成熟的类String.应该已经做到了这一点.

因此String x,y那么x.equals(y)为真时,x和y的hashcode应该是一样的.