java集合框架 java中equals和equal的區(qū)別?
java中equals和equal的區(qū)別?Equals()是object的方法,因此它只適用于對(duì)象,而不適用于基本類型。默認(rèn)情況下,equals()使用“==”來(lái)比較兩個(gè)對(duì)象的內(nèi)存地址。如果要比較兩個(gè)
java中equals和equal的區(qū)別?
Equals()是object的方法,因此它只適用于對(duì)象,而不適用于基本類型。默認(rèn)情況下,equals()使用“==”來(lái)比較兩個(gè)對(duì)象的內(nèi)存地址。如果要比較兩個(gè)對(duì)象的內(nèi)容,需要重寫equals()方法。相等:用于比較兩個(gè)對(duì)象的內(nèi)容是否相等,因?yàn)樗蓄惗祭^承自java.lang.Object對(duì)象類,因此如果該方法未被重寫,則仍將調(diào)用對(duì)象類中的方法,而對(duì)象中的equal方法將返回==的判斷。因此,如果不重寫該方法,則不會(huì)調(diào)用該方法,這毫無(wú)意義。
JAVA中String類里重寫equals方法比較的是內(nèi)容還是地址?
在Java中,字符串、數(shù)學(xué)、整數(shù)、雙精度。。。。這些封裝類重寫了對(duì)象中的equals()方法,因此它不再比較內(nèi)存中對(duì)象的地址,而是比較對(duì)象中實(shí)際包含的整數(shù)的值,即比較內(nèi)容。同樣,對(duì)象的equals()方法比較地址值,因此當(dāng)對(duì)象的equals相等時(shí),它們的hashcode必須相等。因?yàn)樗鼈兌际菍?duì)象的地址,所以如果要將自己的類添加到集合類中,必須記住重寫這兩個(gè)方法。在eclipse中重寫hashcode和equals方法非常方便。只需右鍵單擊->source->generate hashcode()和equals()。