JAVA 两个对象不同为什么他们的hashcode有可能相同

 我来答
y6198078
推荐于2017-12-15 · 超过20用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:35.9万
展开全部
  1. hashCode方法是Object的方法  你是可以在任何子类里面复写的(java所有类均继承Object)  如果手动设置  return “1”  那就会相同

  2.  hashCode只是特征编码   更像是摘要(MD5理解吗?大概差不多)  就是用比较少的字符组合描述复杂的东西  这样一定会重复的  比如用长度为3的字符串去表述长度为6 的字符串就会产生重复
    可能的排列只有

        123  132 213 231 312 321

 

        而长度为6 的字符串的排列组合就很多  所以一定会出现某几个6为字符串对应的 3位字符串相等的情况   hashCode就是这种  (你是初学者 只能这么简单的说了 )  事实上hashCode原理更复杂些

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式