我有一个服务器女巫向我发送一个字符串,例如“False~False~False~True~False~True~False~”或类似的东西,所以我所做的是对该字符串进行拆分到“~” 所以我的代码是 String[] AString = A2MCString.split("~");
我有一个新的字符串数组 我去检查每个部分是否正确或false 使用 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?对我的问题有任何帮助谢谢!
最佳答案
在 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 中,字符串是一个对象),它正在比较两个对象引用是否指向同一个对象。
关于java - android 夹板字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473682/