问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

Java中关于equals()和hashCode()的问题

发布网友 发布时间:2022-05-02 01:26

我来回答

4个回答

热心网友 时间:2022-06-26 04:53

其实我觉得哈, 这应该是一种惯例.
就是大家的一种共识, 便于以后的拓展和维护.
这样说吧, 你如果只是测试, 那么你随便怎么写都行, 你只要一个equals方法而不管hashcode, 这样OK, 没问题, 程序一样能跑通.
但是, 如果你写了equals方法, 而你不重写hashcode方法, 那么在使用hashtable或hashset的时候, 就会出现很多不必要的错误.
而且..你在重写这两个方法前, 必须要搞清楚, 它们分别应该遵循什么原则, 这也算惯例吧.
比如equals方法, 以下就拷贝了, 很基础的知识.
* 对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”。
* 反射性:x.equals(x)必须返回是“true”。
* 类推性:如果x.equals(y)返回是“true”,而且 y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”。
* 还有一致性:如果 x.equals(y)返回是“true”,只要x和y内容一直不变,不管你重复x.equals(y)多少次,返回都是“true”。
* 任何情况下,x.equals(null),永远返回是“false”;x.equals(和x不同类型的对象)永远返回是“false”。
hashCode()的返回值和equals()的关系如下:
* 如果x.equals(y)返回“true”,那么x和y的 hashCode()必须相等。
* 如果x.equals(y)返回“false”,那么x和y的hashCode()有可能相等,也有可能不等。

热心网友 时间:2022-06-26 04:53

equals比较的是变量中存储的内容 hashcode比较的是在内存中地址只有equals和hashcode返回的都是true 两个变量才可以"=="至于怎么比较内容 重写equals方法就是

热心网友 时间:2022-06-26 04:54

比较两个引用是否是同一个地址,也就是说判断他们是不是只向同一个对象

hashCode的用处在于快速判断两个对象是否相等。

a.equals(b)则一定要有a.hashCode() == b.hashCode();

所以如果a.hashCode()!= b.hashCode()则说明 a.equals(b)== false

两者的作用是一样的,没有说一定要一起同时使用,我平时用a.equals(b)来比较两个字符串是否相等。这种常用

热心网友 时间:2022-06-26 04:54

如果你只覆盖了equals的话,是会有问题的。因为那就不是重写超类的方法了。在超类中,默认你继承重写的就得是hashCode()跟equals()两个方法,不然就没有效果的。当然,你也可以自己写个equals这样的方法,但其实是不同的。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
要一个带“长”字的成语 成语第二个字是长 预告登记有怎样的效力 ...他朋友借了三十万,现在还不出来,别人告他他会坐牢吗?我该不该借他... 欠网贷30万无力偿还,是否会坐牢? 寄快递什么意思 小配大出的小狗体型随谁狗狗生的小狗体型随谁 贝拉米奶粉最新事件有关于奶粉有问题的吗? 怀孕32周可以吃榴莲吗 榴莲的功效与作用 孕期31周能吃榴莲吗 Hashcode的小问题 Java题目:如果hashCode中返回常量1,会有什么结果? Java的Object.hashCode的返回值到底是不是对象内存地址 Java的Object.hashCode的返回值到底是不是对象内存地址? java 字符串,hashCode java Long.hashCode(),返回的是int 类型,是如何保证hash值不重复的 java hashcode是什么类型 地上应急池贴有限空间标牌张贴位置要求 工贸企业有限空间作业是指哪些 地下有限空间深度多少 A类有限空间有哪些条件? 如何看待托管教育? 通信施工中有限空间作业有哪些? 描述有限空间主要存在的8方面危险因素有哪些? 高中托管有一对一补习的么? 有限空间分为三类分别是什么? 学生托管行业有哪些优势? 学生托管行业有哪些优势? 一对一托管 龙文教育怎么样 一对一托管 龙文教育怎么样 java中的equals,hashcode的区别和联系 定义在object上的hashcode方法的返回类型是什么 achar blong cint dfloa java 中hashcode和equals怎么写 为什么同时重写hashcode和equals方法 java中hashcode返回的初步理解为这个对象的物理地址,为什么会有这样一个结论还是有点不理解 C#的GetHashCode()的用法 JAVA的object的hashcode方法如何保证每次返回都是一样的? HashMap<String[],String> 学习嵌入式软件开发去哪好 嵌入式去哪里学习比较好,有哪些好的学习地方? 我想学习嵌入式技术。。去哪比较好? 技嘉的1080TI AORUS X 会掉驱动吗 求助啊,大雕1080ti在oc状态下掉驱动 GTX1080ti更新驱动后画面出问题 1080ti更新显卡驱动后显示色彩有问题 1080TI显卡驱动在哪里下载 求助,冰龙1080ti驱动打不上 1080ti安装驱动怎么用 附木式梅花盆景有哪些特色? 榕树气根能发芽生根吗?
  • 焦点

最新推荐

猜你喜欢

热门推荐