循環(huán)遍歷string字符串 java判斷字符串是否相等?
java判斷字符串是否相等?在Java中,有兩種方法可以判斷字符串是否相等:1。使用“=”運算符,它指示對字符串的引用是否相同。例如:字符串a(chǎn)=“ABC”字符串B=“ABC”,則a==B將返回true
java判斷字符串是否相等?
在Java中,有兩種方法可以判斷字符串是否相等:
1。使用“=”運算符,它指示對字符串的引用是否相同。例如:字符串a(chǎn)=“ABC”字符串B=“ABC”,則a==B將返回true。這是因為在Java中,字符串的值是不能更改的,并且同一字符串的一個副本只能存儲在內(nèi)存中,所以a和B指向同一個對象。另一個例子是:string a=new string(“ABC”)string B=new string(“ABC”),那么a==B將返回false,因為a和B指向不同的對象。
2. 使用equals方法,比較字符串的內(nèi)容是否相同。例如,string a=new string(“ABC”)string B=new string(“ABC”)a.equals(B)將返回true。所以通常,為了避免上述問題,我們使用equals方法來判斷字符串是否相等。
JAVA如何判斷兩個字符串不相等?
您可以通過equals來判斷字符串是否相等。
equals方法(由string類從其超類對象繼承)用于檢測兩個對象是否相等,即兩個對象的內(nèi)容是否相等。它區(qū)分大小寫。public static void main(String[]args){String a=“abcdb”String b=“bcddeb”if(!a、 等于(b){系統(tǒng)打?。ā癮不等于B”)}否則{系統(tǒng)打?。ā癮等于B”)例如:S1=新字符串(“Sony”)//創(chuàng)建字符串對象S1。等于(“Sony”)//返回trues1==“Sony”//返回false//如果S1=“Sony”S1==“Sony”//就像兩顆豌豆一樣,我們可以用true
來比較第二顆豌豆和第一顆豌豆。在Java開發(fā)語言中,我們經(jīng)常使用雙等號“==”來表示兩個變量,比如3==3是正確的(true),但是在使用Java=“==”進行字符串判斷時,有時兩個變量是完全相同的,但是他卻總是得出不相等的結(jié)果(false),所以對于新手開發(fā)人員來說,他們經(jīng)常會感到困惑。通常在展開時,我們經(jīng)常使用A.equals(b)來判斷兩個字符串是否相等。
在Java中,使用“==”通常比較兩個變量的地址,也就是說,如果兩個變量存儲在同一個內(nèi)存單元中,它們的結(jié)果將相等。對于兩個字符串string a=“1234”string B=“1234”,對于兩個變量a和B,當使用“==”和a.equals(B)時,它們的結(jié)果是相等的,因為兩個字符串a(chǎn)和B后面是兩個字符串常量,并且它們在內(nèi)存中的存儲位置相同,所以“==”和a.equals(B)的結(jié)果是相等的;
但是對于字符串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()方法。他的比較方法是遍歷兩個字符串中的每個字符。只有當兩個字符串的每個位置的字符相同時,此方法返回的值才會相等(true)。因此,在我們的開發(fā)過程中,當遇到字符串比較時,我們使用string equals()方法進行判斷,這樣可以減少很多bug。同樣,我們不僅可以使用equal()方法進行字符串比較,還可以使用equal()方法對任意兩個對象進行比較;
閱讀以上內(nèi)容后,您知道Java字符串比較嗎?