黑马程序员技术交流社区
标题:
Hashcode和equals的区别:
[打印本页]
作者:
我能驾驭住
时间:
2012-6-3 09:30
标题:
Hashcode和equals的区别:
听了张老师讲的课:
Hashcode是比较区域的对象,equals是比较值的。。
先比较那一个呢,是不是对象不相同,值都不用比较了?
作者:
田林
时间:
2012-6-3 10:16
当使用HashSet 时,hashCode()方法就会得到调用,判断已经存储在集合中的对象的 hash code 值是否与增加的对象的hash code 值一致;如果不一致,直接加进去;如
果一致,再进行equals 方法的比较,equals 方法如果返回true ,表示对象已经加进 去了,就不会再增加新的对象,否则加进去.
作者:
何拴绪
时间:
2012-6-3 11:29
对象是否相同是看他们的哈希值,如果哈希值相同,则对象相同,否则就不相同。一般的对象的比较是通过equals方法来比较,提前是你自己要去重写该方法,有自己的比较的方式,可以不重写hashCode,但是你的对象和集合相关时,就必须重写equals方法和hashCode方法,所以良好的编程习惯就是两个方法都重写。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2