亚洲av无码乱码国产一区二区,午夜理论片yy44880影院,午夜久久久久久禁播电影,熟睡人妻被讨厌的公侵犯

01
2020/08

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

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

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

            java2-1.jpg

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

            java2-2.jpg

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

            java2-3.png

            java2-2.jpg

        此時來看== 和 equals并沒有什么區(qū)別,但是當(dāng)聲明變量值為Integer對象中的1時候就會出現(xiàn)問題

            java2-4.jpg

        圖中a和b的值是相同的,但是用==號判斷,會返回false

            java2-5.jpg

        但是用equals比較則會返回true

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

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