A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bolt 中级黑马   /  2015-9-7 03:42  /  1246 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

hasCode 和equals 用法有什么不同啊

7 个回复

倒序浏览
字都打错了  哥们
equals方法用于比较对象的内容是否相等
hashcode只在集合中用得到把
回复 使用道具 举报
首先按照返回类型分;
hasCode返回的是int类型。
equals返回的是true和false

hasCode 一般用来比较的是哈希码值;
equals 默认比较的是地址值。复写后比较的是内容。

然后在集合中HasSet这个对象你了解吗??用这个对象存储对象时要复写hasCode方法和equals。在存储元素的时候hasSet会先调用hascode方法判断如果相同然后再调用equls方法比较。如果两个都相同元素就不会存储进来

最好多看看视频如果发现我的答案有问题请告诉我谢谢

评分

参与人数 1技术分 +1 收起 理由
洋葱头头 + 1 赞一个!

查看全部评分

回复 使用道具 举报
集合字符串
回复 使用道具 举报
洋葱头头 发表于 2015-9-7 09:17
字都打错了  哥们
equals方法用于比较对象的内容是否相等
hashcode只在集合中用得到把  ...

大哥你闹哪样 我要的就是hasCode
回复 使用道具 举报
本帖最后由 bolt 于 2015-9-9 07:28 编辑
lizhichao 发表于 2015-9-7 10:54
首先按照返回类型分;
hasCode返回的是int类型。
equals返回的是true和false

其实我想问的是毕向东视频里面 有一段他是把hashCode 打成hasCode  然后哈希值没被覆盖  
我想问这个hasCode 这个方法的作用
回复 使用道具 举报
bolt 中级黑马 2015-9-9 07:31:30
7#
难不成被默认为自定义方法了? 汗 ,看着这个名字这么底层
回复 使用道具 举报

哈希值,是通过对文件内容进行加密运算得到的一组二进制值,即使是地址值也要把地址运算后比较。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马