没有合适的资源?快使用搜索试试~ 我知道了~
ordinary-zhang#java#equals和hashcode方法详解1
需积分: 0 0 下载量 114 浏览量
2022-07-25
14:28:35
上传
评论
收藏 4KB MD 举报
温馨提示
试读
1.概述 2.为什么重写equels方法要重写hashcode方法 3.例子
资源推荐
资源详情
资源评论
### 1.概述
1. equal()方法是object提供的方法,用来判断两个对象的值是否相等。里面默认是==运算符比较两个对象,用户可重写
2. hashcode方法也是object提供的方法,默认返回的是对象在内存中的地址转换成的一个int值,也可重写
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true;
**注意** :当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。如下:
(1)当obj1.equals(obj2)为true时,obj1.hashCode() == obj2.hashCode()必须为true
(2)当obj1.hashCode() == obj2.hashCode()为false时,obj1.equals(obj2)必须为false
(3)当obj1.hashCode() == obj2.hashCode()为true时,obj1.equals(obj2)不一定为true
**如果不重写equals,那么比较的将是对象的引用是否指向同一块内存地址,重写之后目的是为了比较两个对象的value值是否相等。特别指出利用equals比较八大包装对�
点击阅读更多
资源评论
人亲卓玛
- 粉丝: 30
- 资源: 329
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功