【发布时间】:2016-06-18 00:40:04
【问题描述】:
这非常奇怪。我只是比较两个相同的字符串,但它们没有正确比较。 text 是我从用户对话中提取的一个字符串(它被修剪了):
String compareThis = sharedPrefs.getString("key", "default").toLowerCase().trim();
if (text.equals(compareThis)){
Toast.makeText(lol, "Good, strings matched :)", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(context, "Should be " +text +" Not " +compareThis, Toast.LENGTH_SHORT).show();
}
现在看,这段代码看起来很简单,但条件是进入else,即使字符串相等...现在你认为那是因为字符串不相等。不,因为我得到了这个吐司:
应该是你好 不是你好
什么?!那些是同一个字符串?!吐司甚至表明它们是相同的......如果它们都是“你好”,为什么比较不起作用?
谢谢,
鲁基尔
【问题讨论】:
-
你能提供一个minimal reproducible example吗?这可能会为双方节省大量时间和精力。
-
试试
if (text.trim().equals(compareThis)) -
我感觉您没有向我们展示一些重要的代码。这是不可重现的。
-
什么是文本类型?
标签: java android xml string algorithm