java兩個字符串比較 java中的字符串比較方法?
為了比較,就像第一語言中的兩粒豌豆一樣,我們通常用雙等號==來表示兩個變量,比如3==3,true(Java),但是當(dāng)我們用string=“==”這個詞來判斷字符串時,有時兩個變量是完全一樣的,但結(jié)果
為了比較,就像第一語言中的兩粒豌豆一樣,我們通常用雙等號==來表示兩個變量,比如3==3,true(Java),但是當(dāng)我們用string=“==”這個詞來判斷字符串時,有時兩個變量是完全一樣的,但結(jié)果是第二個。直不等于(假),所以對于新手開發(fā)人員來說,往往會感到困惑。通常在展開時,我們經(jīng)常使用A.equals(b)來判斷兩個字符串是否相等。
換言之,如果兩個變量存儲在同一內(nèi)存中,則兩個變量A和B的結(jié)果為“string=”1234“=”1234”,當(dāng)使用“=”和A.equals(B)時,它們的結(jié)果相等,因為兩個字符串A和B后跟兩個字符串常量,并且它們在內(nèi)存中的存儲位置相同,因此“=”的結(jié)果相等和a.equals(b)相等;
但是對于字符串a(chǎn)=new string(“1234”)字符串b=new string(“1234”),雖然a和b的結(jié)果都是“1234”,但是用“=”來判斷時,結(jié)果是不相等的,因為此時a和b是兩個對象,它們的內(nèi)存位置不相等,所以“=”他的判斷是不相等的,此時,使用a.equals(b)得到的結(jié)果是正確的;
使用a.equals的原因是(b)結(jié)果是兩個字符串相同,因為string類重寫了equal()方法。他的比較方法是遍歷兩個字符串中的每個字符。只有當(dāng)兩個字符串的每個位置的字符相同時,此方法返回的值才會相等(true)。因此,在我們的開發(fā)過程中,當(dāng)遇到字符串比較時,我們使用string equals()方法進(jìn)行判斷,這樣可以減少很多bug。同樣,我們不僅可以使用equal()方法進(jìn)行字符串比較,還可以使用equal()方法對任意兩個對象進(jìn)行比較;
閱讀以上內(nèi)容后,您知道Java字符串比較嗎?
java中的字符串比較方法?
String a=“ABC”
此時,已為String類型的變量分配內(nèi)存地址[即堆],然后重新分配相同的變量。引用類型變量的內(nèi)存地址指向相同的內(nèi)存地址,因此重新分配時,內(nèi)存中的值會發(fā)生變化。例如:string a=“BCD”此時,內(nèi)存中的值已變?yōu)锽CD