2013-10-30 167 views
0
System.out.println(characters.get(selected).getName()); 
    // The name printed is "Mario" But the if statement will not 
    // work as though the two strings are diffrent but they are the same. 
    if(characters.get(selected).getName() == "Mario"){ 
     playSound("sounds/clickmario.wav"); 
    } 

比較兩個字符串相等但不會工作,當我調試比較是「馬里奧」到「馬里奧」這樣的if語句應該是真實的,但它的假,因爲沒有內部的if語句正在閱讀。這是爲什麼發生?我試着將這個.getname賦值給一個tempString並進行比較,但是當它們是相同的字符串時,語句結果爲false。請幫助兩個字符串的if語句

+0

謝謝!現在的作品 – user2827416

回答

0

使用

if (stra === strb) 

它應該在JavaScript工作,爲Java

if (stra.equals(strb)) 

那麼它應該工作太

3

你必須使用.equals()用於字符串比較中java

if(characters.get(selected).getName().equals("Mario")){ 
    playSound("sounds/clickmario.wav"); 
} 
+0

==只適用於簡單的主體。您需要使用.equals將字符串對象相互比較。這是對的。 – zgc7009