1

我有一个服务器女巫正在向我发送一个字符串,例如“False~False~False~True~False~True~False~”或类似性质的东西,所以我所做的就是将该字符串拆分为“ ~" 所以我的代码是String[] AString = A2MCString.split("~");使用新的字符串数组,我使用 if else 语句检查每个部分是真还是假

if (AString[0] == "True") {
Log.d("ClientActivity","Light ON");
On1.setBackgroundResource(R.drawable.selected_on);
}
else Log.d("ClientActivity","Light OFF");

但是,即使服务器在我的字符串数组的第一部分向我发送了 true ,该数组仍然会反弹到 else 说它是 false ,即使它是 true ?对我的问题有任何帮助谢谢!

4

1 回答 1

5

在java中比较字符串时,您必须使用该equals方法。在你的情况下,像

if (AString[0].equals("True")) {
    Log.d("ClientActivity","Light ON");
    On1.setBackgroundResource(R.drawable.selected_on);
}
else Log.d("ClientActivity","Light OFF");

在对象上使用 == 运算符时(在 java 中,字符串是对象),它比较两个对象引用是否指向同一个对象。

于 2012-05-06T19:49:38.863 回答