Java 中==和 equals 的区别, equals 和 hashCode 的区别
生活随笔
收集整理的這篇文章主要介紹了
Java 中==和 equals 的区别, equals 和 hashCode 的区别
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
==操作符用來比較兩個(gè)基本類型變量時(shí),比較的是值;用來比較引用類型變量時(shí),比較的是引用的地址
equals方法是基類Object的方法,用于比較兩個(gè)對(duì)象的內(nèi)容是否相同,Object類中equals方法的默認(rèn)實(shí)現(xiàn)使用的==操作符比較,實(shí)際開發(fā)過程中,我們會(huì)重寫equals方法,重新定義比較規(guī)則
?
當(dāng)涉及到像HashMap等與哈希表結(jié)構(gòu)相關(guān)的一些類時(shí),會(huì)使用到hashCode方法
默認(rèn)的hashCode實(shí)現(xiàn)一般是內(nèi)存地址對(duì)應(yīng)的數(shù)字,所以不同的對(duì)象,hashCode()的返回值是不一樣的
equals(object)相同時(shí),hashCode()的返回值也要盡量相同,當(dāng)equals(object)不相同時(shí),hashCode()的返回沒有特別的要求,但是也是盡量不相同以獲取好的性能
總結(jié)
以上是生活随笔為你收集整理的Java 中==和 equals 的区别, equals 和 hashCode 的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建行的分期通是啥回事
- 下一篇: java美元兑换,(Java实现) 美元