久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

01
2020/08

java中==和equals的區(qū)別

發(fā)布時(shí)間:2020-08-01 15:31:55
發(fā)布者:神棍子
瀏覽量:
0

    在正常windows配置java環(huán)境環(huán)境中,聲明兩個(gè)數(shù)據(jù)類型相同、值相同的變量,用==號(hào)進(jìn)行判斷:

            java2-1.jpg

        圖中聲明兩個(gè)個(gè)integer 類型的變量a,b 皆賦值為1 然后編譯運(yùn)行

            java2-2.jpg

        結(jié)果返回true,并沒(méi)有什么問(wèn)題,然后將==改為equals  編譯運(yùn)行 也返回true

            java2-3.png

            java2-2.jpg

        此時(shí)來(lái)看== 和 equals并沒(méi)有什么區(qū)別,但是當(dāng)聲明變量值為Integer對(duì)象中的1時(shí)候就會(huì)出現(xiàn)問(wèn)題

            java2-4.jpg

        圖中a和b的值是相同的,但是用==號(hào)判斷,會(huì)返回false

            java2-5.jpg

        但是用equals比較則會(huì)返回true

    因?yàn)樵趈ava中 == 是判斷 基本數(shù)據(jù)類型的比較和引用是否指向堆內(nèi)存的同一塊地址,而equals判斷 用于判斷兩個(gè)變量是否是對(duì)同一個(gè)對(duì)象的引用,即堆中的內(nèi)容是否相同,所以在判斷中若想要判斷地址相同使用==只進(jìn)行值判斷則用equals會(huì)更不容易出錯(cuò)。

關(guān)鍵詞:
返回列表