博客
关于我
Java hashcode() 和 equals() 区别
阅读量:378 次
发布时间:2019-03-05

本文共 299 字,大约阅读时间需要 1 分钟。

hashcode 用于计算对象的 hash 码, 当对象作为 key 用在 HashMap / HashSet 时, 会首先利用 hashcode() 计算对象的 hash 值, 与数组长度取模, 得到所在数组的位置, 是为了提升查找速度

equals 方法是当遇到 hash 碰撞时 (hash 值相同), 会调用 equals 方法具体比较对象是否相等

equals 方法, 默认是比较两个对象 ==, 即内存地址是否相等, 我们可以重写该方法, 例如判断这两个对象的具体字段值是否相等

Object equals

总结:

hashcode 用于在哈希表中, 降低查找对象的成本
equals 用于判断两个对象是否真的相等

转载地址:http://kvcg.baihongyu.com/

你可能感兴趣的文章
Netty工作笔记0058---Netty群聊系统客户端
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0061---Netty心跳处理器编写
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0068---Protobuf机制简述
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0071---Protobuf传输多种类型
查看>>
Netty工作笔记0072---Protobuf内容小结
查看>>
Netty工作笔记0074---handler链调用机制实例1
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0079---Log4j整合到Netty
查看>>
Netty工作笔记0081---编解码器和处理器链梳理
查看>>
Netty工作笔记0083---通过自定义协议解决粘包拆包问题1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
Netty应用实例
查看>>
netty底层——nio知识点 ByteBuffer+Channel+Selector
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>