为什么我的字符串在它们出现时并不相同?

时间:2012-12-29 19:13:14

标签: java android

我目前正在使用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%相等。我只是想知道是否有人在我的代码中看到错误? 感谢

3 个答案:

答案 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)

尝试使用String.equalsIgnoreCase

if (newSource.trim().equalsIgnoreCase(source.trim())) {
      Log.d("Equal:", "Strings are equal");
   }
 else {
        Log.d("Not Equal: ", "Strings aren't equal");     
   }

因为它可能包含空格,小写和大写字母