JAVA中equals()方法

hnczwolf 2008-05-04 05:51:12
在JAVA中我们在实现equals()时常要写hashcode()方法,想对equals()和hashcode()的深入理解,它们为什么要一起结合用?equals()与"=="二者之间的联系与区别?
...全文
316 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
老紫竹 2008-05-04
  • 打赏
  • 举报
回复
hashcode 不是必须的,而 equals 则是必须的!

根据 哈希的原理,hashCode 可以保证更好的数据分散。 是为了节省点空间。

equals 如果相同,则视同一样的对象,一般设计为比较数值

== 比较的是2个对象的地址是否相同!

6216 2008-05-04
  • 打赏
  • 举报
回复
hashtable 的 存储模式<K,V> 键 和 值
键 相当与 值 的索引 !
键是不可以重复的!
值是可以重复的!
用什么方法判断键是否重复呢??
equals和hashcode 方法 !
equals 返回 boolean
hashcode 返回 long (散列码)
当 equals 返回 true 时 和 hashcode 的 值相等时 键判断为重复


equals是字面上比较,==通过hashcode比较,比较是不是同一个地址。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧