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

hash code、equals和“==”三者的关系

发布网友 发布时间:2023-12-01 05:45

我来回答

3个回答

热心网友 时间:2024-11-29 10:47

1.如果是基本变量,没有hashcode和equals方法,基本变量的比较方式就只有==;

2.如果是变量,由于在java中所有变量定义都是一个指向实际存储的一个句柄(你可以理解为c++中的指针),在这里==是比较句柄的地址(你可以理解为指针的存储地址),而不是句柄指向的实际内存中的内容,如果要比较实际内存中的内容,那就要用equals方法,但是!!!

如果是你自己定义的一个类,比较自定义类用equals和==是一样的,都是比较句柄地址,因为自定义的类是继承于object,而object中的equals就是用==来实现的,你可以看源码。

那为什么我们用的String等等类型equals是比较实际内容呢,是因为String等常用类已经重写了object中的equals方法,让equals来比较实际内容,你也可以看源码。

3. hashcode
在一般的应用中你不需要了解hashcode的用法,但当你用到hashmap,hashset等集合类时要注意下hashcode。

你想通过一个object的key来拿hashmap的value,hashmap的工作方法是,通过你传入的object的hashcode在内存中找地址,当找到这个地址后再通过equals方法来比较这个地址中的内容是否和你原来放进去的一样,一样就取出value。

所以这里要匹配2部分,hashcode和equals
但假如说你new一个object作为key去拿value是永远得不到结果的,因为每次new一个object,这个object的hashcode是永远不同的,所以我们要重写hashcode,你可以令你的hashcode是object中的一个恒量,这样永远可以通过你的object的hashcode来找到key的地址,然后你要重写你的equals方法,使内存中的内容也相等。。。

热心网友 时间:2024-11-29 10:48

== 是比较地址是否相等,JAVA中声明变量都是引用嘛,不同的引用,可能指向同一个地址。

equals 是比较值是否相等。

这种题很容易在面试中被问到。。。

热心网友 时间:2024-11-29 10:48

==,判断的是两个对象是否相等。
equals,是判断两个对象的值是否相等。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
要一个带“长”字的成语 成语第二个字是长 预告登记有怎样的效力 ...他朋友借了三十万,现在还不出来,别人告他他会坐牢吗?我该不该借他... 欠网贷30万无力偿还,是否会坐牢? 寄快递什么意思 小配大出的小狗体型随谁狗狗生的小狗体型随谁 贝拉米奶粉最新事件有关于奶粉有问题的吗? 怀孕32周可以吃榴莲吗 榴莲的功效与作用 孕期31周能吃榴莲吗 手机版侠盗飞车3 任务 驾驶三合会会车进去鱼场 三合会会车在...2 高等数学偏导数问题……不太明白波浪线部分怎么得出来的?求详细解答... 一台3千瓦单相电机在百米外工作,需多少平方铜钱? 汽车违章停车2次加一次单车事故理赔金额800,下年保费会增加吗 白切鸡,白斩鸡,白宰鸡,真的是同一样东西么1 请问美食家们四川乐山哪一家的甜皮鸭和白宰鸡最巴适?店名?地址... 新车出一次单车事故明年保费会不会增加 白斩鸡是哪个地方的菜2 有没有懂行的最近家里宰羊的时候,羊肚子里掏出几个像乒乓球大小... 有没有什么软件能把视频文件转成ae工程文件7 FLASH转化成源文件,用什么软件呢? ...乍到,请问电子界高手,如图显示的稳压二极管的参数是多少?是几伏特的... 中国一共有几个武当山 求一个50级的qq号要密码 6分娃娃的尺寸21 魔域变态版手游挂机脚本如何下载 娃娃屋的尺寸1:12,1:24哪个大2 我用我的手机号不小心重新注册了一个,然后我原来的微信就登不... 魔域回归手游脚本辅助叫什么软件 微信说说怎么让一部分朋友看到22 侠盗猎车3的任务攻略810 股市一天可以提现多少? 我的是钻豹125摩托车正常行驶时突然加速动力就没有了,两秒钟回复正常... 赵宇杰的名字打多少分 咨询赤铁矿选矿工艺(赤铁矿选矿设备)哪家公司比较好?有哪些特... 新买的凤凰牌的自行车,骑的时候会频繁的会响,就是会突然“咯噔...1 广州塞维拉电梯轨道系统有限公司怎么样? 我的是凤凰山地车怎么后面轴的附近老是咯噔咯噔的呢,左脚用力时... 以前星空卫视放过的动漫,是一个女孩需要魔法棒变身成少女,瞎编...2 塑料储水罐漏水了怎么办1 塑料罐体漏水如何堵漏 中国银行对公的单位定期存款证实书掉了怎么办? 读肇庆学院可以不住校嘛? 如果被告在开庭前递交了答辩状,原告可以申请看答辩状吗?75 地震后危房怎么解决2 日本再留卡,再留证有什么区别3 地震后危房怎么解决2 弯梁摩托车骑着突然没力减速,一会儿又好了。 问:地震危房国家补了钱的,这次又以d级危房重建,可以领补偿款... 如何一年内强制二次修改?
  • 焦点

最新推荐

猜你喜欢

热门推荐