Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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/4/sql-server-2008/3.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 与Android中equals()方法的比较_Java_Android_Compare - Fatal编程技术网

Java 与Android中equals()方法的比较

Java 与Android中equals()方法的比较,java,android,compare,Java,Android,Compare,我正在使用.equals方法将传递的字符串(来自另一个活动)与int进行比较,以显示特定的图像,我不确定.equals方法是否合适。这就是我现在使用的代码。不幸的是,它不工作,并显示第一个图像的所有时间 获取所选listitem的PasseId: passedID = getIntent().getStringExtra("ID"); 显示图像部分: if(passedID.equals('1')){ image.setImageResource(R.drawable.imag

我正在使用.equals方法将传递的字符串(来自另一个活动)与int进行比较,以显示特定的图像,我不确定.equals方法是否合适。这就是我现在使用的代码。不幸的是,它不工作,并显示第一个图像的所有时间

获取所选listitem的PasseId:

passedID = getIntent().getStringExtra("ID");
显示图像部分:

if(passedID.equals('1')){
        image.setImageResource(R.drawable.image01);
}
else if(passedID.equals('2')){
        image.setImageResource(R.drawbale.image02);
}

谢谢你的帮助

Literal
String
用双引号(
)括起来,而不是用单引号(
)括起来。单引号用于Literal
char
。在您的例子中,您将
字符串
字符
进行比较(自动从
char
Character
),这将始终导致
false
结果

您的代码应该是这样的:

if(passedID.equals("1")){
        image.setImageResource(R.drawable.image01);
}
else if(passedID.equals("2")){
        image.setImageResource(R.drawbale.image02);
}

Literal
字符串
用双引号(
)括起来,而不是用单引号(
)括起来。单引号用于literal
char
。在您的例子中,您正在将
字符串
字符
(自动从
字符
字符
)进行比较,这将始终导致
错误
结果

您的代码应该是这样的:

if(passedID.equals("1")){
        image.setImageResource(R.drawable.image01);
}
else if(passedID.equals("2")){
        image.setImageResource(R.drawbale.image02);
}

为什么不把
int
作为额外的

intent.putExtra("ID", 1);
...
if (intent.getIntExtra("ID", 1) == 1) {
  ...
} else if (intent.getIntExtra("ID", 1) == 2) {
  ...
}

为什么不把
int
作为额外的

intent.putExtra("ID", 1);
...
if (intent.getIntExtra("ID", 1) == 1) {
  ...
} else if (intent.getIntExtra("ID", 1) == 2) {
  ...
}

欢迎来到SO。如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两件事。它让每个人都知道你的问题已经解决了,并让帮助你的人相信你的帮助。请参阅以获取完整解释。欢迎使用SO。如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两件事。它让每个人都知道你的问题已经解决了,并让帮助你的人相信你的帮助。请参阅以获取完整的解释。