我目前正在使用Eclipse制作Android应用程序。目前我有两个字符串,我需要检查它们是否相等,问题是字符串是否相等,但它表明它们不是真正让我感到沮丧的。
if (newSource.equals(source)) {
Log.d("Equal:", "Strings are equal");
}
else {
Log.d("Not Equal: ", "Strings aren't equal");
}
当我运行它时,它只是在日志cat中打印出字符串不相等。我在log cat中打印了两个字符串,以检查它们是否与它们100%相等。我只是想知道是否有人在我的代码中看到错误? 感谢
答案 0 :(得分:8)
因为字符串并不完全相同。要查看字符串的字节表示,可以执行
System.out.println(Arrays.toString(str1.getBytes()));
System.out.println(Arrays.toString(str2.getBytes()));
答案 1 :(得分:3)
使用trim()
,如果有任何
if ((newSource.trim()).equals(source.trim()))
答案 2 :(得分:1)
if (newSource.trim().equalsIgnoreCase(source.trim())) {
Log.d("Equal:", "Strings are equal");
}
else {
Log.d("Not Equal: ", "Strings aren't equal");
}
因为它可能包含空格,小写和大写字母