java和c的區(qū)別 簡(jiǎn)述
簡(jiǎn)述1. Java中equals和==的區(qū)別在于,值類型存儲(chǔ)在內(nèi)存中的堆棧中(簡(jiǎn)稱stack),而引用類型的變量只在堆棧中存儲(chǔ)引用類型的變量的地址,而本身則存儲(chǔ)在堆中。2. ==運(yùn)算比較兩個(gè)變量的值是
簡(jiǎn)述
1. Java中equals和==的區(qū)別在于,值類型存儲(chǔ)在內(nèi)存中的堆棧中(簡(jiǎn)稱stack),而引用類型的變量只在堆棧中存儲(chǔ)引用類型的變量的地址,而本身則存儲(chǔ)在堆中。
2. ==運(yùn)算比較兩個(gè)變量的值是否相等。對(duì)于引用變量,它指示堆中存儲(chǔ)的兩個(gè)變量的地址是否相同,即堆棧中的內(nèi)容是否相同。
3. equals操作表示的兩個(gè)變量是否引用同一個(gè)對(duì)象,即堆中的內(nèi)容是否相同。
4. ==比較兩個(gè)對(duì)象的地址,而equals比較兩個(gè)對(duì)象的內(nèi)容。顯然,當(dāng)equals為真時(shí),==不一定為真。
請(qǐng)接受,謝謝
equals()是object的方法,所以它只適用于objects,不適用于基本類型。Equals()將兩個(gè)對(duì)象的內(nèi)存地址與默認(rèn)值“==”進(jìn)行比較。如果要比較兩個(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中equals和equal的區(qū)別?
“==”是關(guān)系運(yùn)算符,equals()是方法,它們的結(jié)果都返回布爾值;“=”的用法如下:1)基本類型,比較值;2)引用類型,比較地址;3)沒(méi)有父子關(guān)系的兩個(gè)對(duì)象不能比較。Equals()方法的用法如下:1)系統(tǒng)類一般覆蓋Equals(),比較內(nèi)容。2) 如果用戶定義的類不重寫equals(),它將調(diào)用父類的equals(例如,object),對(duì)象的equals的比較就是地址(return(this==obj))。3) 用戶定義的類需要重寫父類的equals()。注意:object的==和equals的比較都是地址,具有相同的效果