首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java中equals()跟hasCode()的方法详解

2012-12-25 
Java中equals()和hasCode()的方法详解1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。

Java中equals()和hasCode()的方法详解
1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。
equals()方法在object类中定义如下:

public int hashCode(){   return 1;}//等价于hashcode无效


这样做的效果就是在比较哈希码的时候不能进行判断,因为每个对象返回的哈希码都是1,每次都必须要经过比较equals()方法后才能进行判断是否重复,这当然会引起效率的大大降低。
我有一个问题,如果像前面提到的在hashset中判断元素是否重复的必要方法是equals()方法(根据网上找到的观点),但是这里并没有涉及到关于哈希表的问题,可是这个集合却叫hashset,这是为什么??
我想,在hashmap,hashtable中的存储操作,依然遵守上面的准则。所以这里不再多说。

如果大家觉得不足的地方还是多多指教。希望能在探讨中一起进步。

热点排行