我的Android应用程序中有一个奇怪的问题。我必须比较两个等于的字符串。我试过这个:
if (raspunsdata.equals(rok)) {
System.out.println("changed ");
} else
System.out.println("no change");
}
但我总是“没有变化”。在此之前,我为两个字符串都有System.out.println,并且它们都具有相同的值。
我还尝试了(raspunsdata==rok)
和raspunsdata.contentEquals(rok)
,但我遇到了同样的问题。为什么?我无法理解这一点,...请帮助......
答案 0 :(得分:4)
您可能有不需要的空格。可能需要使用修剪功能才能确保。
if (raspunsdata.trim.equals(rok.trim())) {
System.out.println("changed ");
} else
System.out.println("no change");
}
Btw equals是检查值是否相同的正确方法。
答案 1 :(得分:0)
.equals - 比较两个对象的值。如果你有2个具有相同字符集的字符串.equals将返回true; == - 比较两个对象引用是否相等。 例如:
String a = "lol";
String b = a;
a == b - 将是真的。