java - 使用 .equals() 比较两个字符串不起作用

标签 java android string compare equals

我从列表中获取一个字符串,并尝试将其与值中的某些字符串进行比较,然后执行一些操作

for(int i=0; i<sizeOfList; i++){

    String LIST_TITLE;

    LIST_TITLE = list_title.get(i); //the List list_title includes some strings

    if(LIST_TITLE.equals(R.string.percentbattery)) {
        //do stuff
        Log.d("EQUAL!","" + LIST_TITLE);
    } else if(LIST_TITLE.equals(R.string.screenrecorder) == true) {
        //do stuff
        Log.d("EQUAL!","" + LIST_TITLE);
    } else if(LIST_TITLE.equals(R.string.eightsms) == true) {
        //do stuff
        Log.d("EQUAL!","" + LIST_TITLE);
    } else {
        // do stuff
        Log.e("TITLE NOT EQUAL","" + LIST_TITLE);
    }
}

如果我将 LIST_TITLE 与 Logcat 中的 (R.string. ...) 进行比较,它们是相等的,但我只从 else 语句中得到“TITLE NOT EQUAL”日志。

还有其他方法来比较这些字符串吗? “==”方法也不起作用。

最佳答案

R.string.percentbattery 不是字符串,它是一个整数,是引用字符串的 ID。

你想要的是:

LIST_TITLE.equals(context.getResources.getString(R.string.percentbattery))

关于java - 使用 .equals() 比较两个字符串不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25791518/

相关文章:

java - 一个Java模块可以导出一个包,该包的名称是另一个模块中包的子包吗?

java - 使用 runtime.getruntime.exec 从 Java 调用 python 脚本

java - 如何将 flush() 用于 PrintWriter

java - VS2015 - 在 Android 项目中引用 .so 文件

android - 到...的明文 HTTP 流量不允许

android - 如何将文件从 android 上传到谷歌驱动器

string - 如何将一个字符串分割成n个长度的子字符串?

java - 使用 jsoup java 从文本中检索 HTML 结构

c++ - 是否可以打印出与循环计数器对应的字符串

Python 正则表达式搜索和替换