黑马程序员技术交流社区

标题: hasCode 和equals 用法有什么不同啊 [打印本页]

作者: bolt    时间: 2015-9-7 03:42
标题: hasCode 和equals 用法有什么不同啊
hasCode 和equals 用法有什么不同啊
作者: 洋葱头头    时间: 2015-9-7 09:17
字都打错了  哥们
equals方法用于比较对象的内容是否相等
hashcode只在集合中用得到把
作者: lizhichao    时间: 2015-9-7 10:54
首先按照返回类型分;
hasCode返回的是int类型。
equals返回的是true和false

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

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

最好多看看视频如果发现我的答案有问题请告诉我谢谢
作者: ehehe    时间: 2015-9-7 21:34
集合字符串
作者: bolt    时间: 2015-9-9 07:16
洋葱头头 发表于 2015-9-7 09:17
字都打错了  哥们
equals方法用于比较对象的内容是否相等
hashcode只在集合中用得到把  ...

大哥你闹哪样 我要的就是hasCode
作者: bolt    时间: 2015-9-9 07:19
本帖最后由 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
难不成被默认为自定义方法了? 汗 ,看着这个名字这么底层
作者: lizhichao    时间: 2015-9-9 07:37

哈希值,是通过对文件内容进行加密运算得到的一组二进制值,即使是地址值也要把地址运算后比较。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2