试题
考点

java语言-java关键字-equals、hashCode()

面5笔5

为什么equals()相等,hashCode就一定要相等,而hashCode相等,却不要求equals相等?

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

1、因为是按照hashCode来访问小内存块,所以hashCode必须相等。

2、HashMap获取一个对象是比较key的hashCode相等和equal为true

之所以hashCode相等,却可以equal不等,就比如ObjectAObjectB他们都有属性name,那么hashCode都以name计算,所以hashCode一样。

但是两个对象属于不同类型,所以equal为false。

文章链接

评论

加载更多