我将一个字符串从一个活动传递给另一个活动。我传递了文本“maglist”。当我在下一个活动中记录字符串时,它会说“maglist”应该这样做。但是,如果我做一个if语句,询问string =“maglist”那么当它应该是真的时,它就会转到else。 Il告诉你:
第一项活动:
Intent intentRefresh = new Intent(getApplicationContext(), com.fieldandrurallife.media.InternetRefresh.class);
String list = "maglist";
intentRefresh.putExtra("from", list);
intentRefresh.putExtra("cat", cat);
startActivity(intentRefresh);
第二项活动:
Intent iB = getIntent();
String from = iB.getStringExtra("from");
if(from == "maglist"){
Log.d("refresh", "From = " + from);
} else {
Log.d("refresh", "dident work" + from);
}
当它应该是“maglist”时,我得到“dident work maglist”的日志 困惑。谢谢你提前。
答案 0 :(得分:1)
为了比较两个字符串,您应该string1.equals(string2);
执行string1==string2
实际比较参考。
答案 1 :(得分:0)
要比较字符串,您应该使用'equals':
if(from.equals("maglist")) {
// TO DO
}
else {
//To DO
}
答案 2 :(得分:0)
您应该使用isequal方法而不是“==”
from .equalsIgnoreCase("maglist")
它会起作用
答案 3 :(得分:0)
答案 4 :(得分:0)
您需要使用equals
比较字符串,使用
if (from.equals("maglist"))
答案 5 :(得分:0)
而不是==尝试from.equals(“maglist”)
答案 6 :(得分:0)
用下面的一个改变你的状况。
if(from.equals("maglist")){
Log.d("refresh", "From = " + from);
} else {
Log.d("refresh", "dident work" + from);
}
P.S: - 您无法将字符串值与等号(==)符号进行比较,因为如果两个字符串对象相同,它们将始终返回false。
答案 7 :(得分:0)
正确比较java中的字符串
if(from.equals("maglist"))
{
...
}
答案 8 :(得分:0)
试试if(from.equals("maglist"))
。如果失败,
尝试if(from.contains("maglist"))