Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将两个字符串与.equals()don';行不通_Java_Android_String_Compare_Equals - Fatal编程技术网

Java 将两个字符串与.equals()don';行不通

Java 将两个字符串与.equals()don';行不通,java,android,string,compare,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 st

我从列表中得到一个字符串,并尝试将其与值中的一些字符串进行比较,然后做一些事情

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);
    }
}

for(int i=0;i
R.string.percentbattery
不是字符串,它是一个整数,是引用字符串的ID

你想要的是:

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

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

你想要的是:

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

R.string.xxx
是一个
int
。您需要从
res

差不多

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

这是假设您有可用的
活动上下文
。否则,您需要在
getResources()前面添加
上下文
变量
R.string.xxx
是一个
int
。您需要从
res
中获取
字符串

差不多

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

这是假设您有可用的
活动上下文
。否则,您需要在
getResources()

R.string前面添加一个
上下文
变量。某些id
只是一个整数,您可以通过它从资源中获取字符串。 因此,为了在您的情况下正确比较
字符串
,您必须执行以下操作:

String precentBattery = getResources().getString(R.string.percentbattery);
if (LIST_TITLE.equals (percentBattery)) ...

R.string.some_id
只是一个整数,通过它可以从资源中获取字符串。 因此,为了在您的情况下正确比较
字符串
,您必须执行以下操作:

String precentBattery = getResources().getString(R.string.percentbattery);
if (LIST_TITLE.equals (percentBattery)) ...
这是不正确的,因为您试图将字符串与资源ID进行比较 您应该首先从资源获取字符串:

LIST_TITLE.equals(getResources().getString(R.string.percentbattery))
这是不正确的,因为您试图将字符串与资源ID进行比较 您应该首先从资源获取字符串:

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

哇!打字时还有四个答案……我打字太慢了:)哇!打字时再回答四个问题。。。我打字太慢:)
如果(条件==true)
被认为是糟糕的风格。如果您使用
=
而不是
=
,则很容易出错,这意味着您正在将
true
赋值给
条件(如果它是可变的)。这就是为什么最好只使用
if(condition)
,或者如果您确实必须将其与
true
进行比较,那么就使用yoda样式
if(true==condition)
——在这里,即使您使用
=
而不是
=
,您也会得到编译错误,因为我们可以将值分配给变量,而不是其他值。
if(condition==true)
被认为是糟糕的样式。如果使用
=
而不是
=
,则很容易出错,这意味着您正在将
true
赋值给
condition
(如果它是可变的)。这就是为什么只使用
if(condition)更好的原因
或者如果您确实必须将其与
true
进行比较,那么请使用yoda样式
if(true==condition)
-在这里,即使您使用
=
而不是
=
,您也会得到编译错误,因为我们可以将值分配给变量,而不是其他值。即使我使用您的解决方案或
列表\u TITLE.equals(“字符串”)
它不起作用。更多详细信息:我在
异步任务(doInBackground)
中使用它。我从网站获取标题,并将它们保存在
列表标题中。现在我尝试将此列表标题与一些字符串进行比较,以设置图标。在这个异步任务中,我没有上下文,所以我使用了没有上下文的解决方案。
列表标题(getResources().getString(R.string.percentbattery))
这可能是错误吗?ThanksHow完全显示您调用它没有什么不同。如果在
活动中
您可以调用
getString(int)
没有任何其他内容。这就是代码所在的位置。修复代码的重要一点是理解
R.string。任何
内容都不是字符串,因此您无法将其与字符串进行比较,您需要获得实际字符串才能对其进行比较。即使我使用您的解决方案或
列表\u TITLE.equals(“字符串”)
它不起作用。更多详细信息:我在
异步任务(doInBackground)
中使用它。我从网站获取标题,并将它们保存在
列表标题中。现在我尝试将此列表标题与一些字符串进行比较,以设置图标。在这个异步任务中,我没有上下文,所以我使用了没有上下文的解决方案。
列表标题(getResources().getString(R.string.percentbattery))
这可能是错误吗?ThanksHow完全显示您调用它没有什么不同。如果在
活动中
您可以调用
getString(int)
没有任何其他内容。这就是代码所在的位置。修复代码的重要一点是理解
R.string。任何内容都不是字符串,因此您无法将其与字符串进行比较,您需要获得实际字符串才能对其进行比较。