我从列表中获取一个字符串,并尝试将其与值中的某些字符串进行比较,然后执行一些操作
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/