2012-05-14 78 views
-1

我有一個奇怪的問題......我用這個代碼:比較2完全相同的字符串結果是否爲false?

String text = new String(values[0]); 
    Log.e("TEST", "|" + text + "|" + new String(values[0]) + "|"); 
    if (text == "pong") { 
     Log.e("TEST", "2|" + new String(values[0]) + "|"); 
     receivedresponse = true; 
    } else { 
     Log.e("TEST", "1|" + new String(values[0]) + "|"); 
     myToast.setText(new String(values[0])); 
     myToast.show(); 
    } 

值= 112111110103

字符串(值[0])= 「傍」

文本=新的String(值[0])=「pong」

still text!=「pong」...但是「pong」==「pong」?

-

任何人都知道爲什麼?

+0

text.compareTo( 「乒乓」)似乎工作! 任何想法爲什麼它必須這樣?我很喜歡學習:) – Marco

+4

你在。java中有.equals()。不要使用==。看看這個:http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java – superM

+0

謝謝!有用的信息,應該有相反的答案... – Marco

回答

6

在java中,你需要在字符串中使用.equals

text.equals("pong"); 
相關問題