2012-05-14 36 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"); 
相关问题