[英]if () not working
这是我的代码:
Log.d("inf", loader);
if (loader == "Klasse"){
Log.d("inf", "Klasse yes");
OPTS = new String[] { //Something };
} else {
Log.d("inf", "Klasse no");
OPTS = new String[] { //Something };
}
在第一行中,输出完全是“ Klasse”,但是下一个输出每次是“ Klasse no”。 加载程序字符串设置如下:
String loader = "";
Bundle exta = getIntent().getExtras();
if(exta !=null) {
try {
json = new JSONObject(exta.getString("json"));
loader = exta.getString("order");
} catch (JSONException e) {
e.printStackTrace();
}
}
你们有什么主意吗?
==
比较运算符比较引用而不是值。 您需要比较这些值,因此需要使用equals()
方法。
if (loader.equals("Klasse"))
同一性( ==
)和相等性( equals()
)之间是有区别的。 身份测试用于检查对象指针是否相同,因此几乎永远都不正确。 平等测试对象的“值”是否相同,因此几乎总是您所需要的。
字符串比较应始终使用equals方法进行。
if(loader.equals("Klasse")) { .... }
这是因为String是一个类,并且使用'=='来检查它们是否是同一对象,而不是。 等于检查您要比较的字符串是否相等。
如果==或===不起作用,请使用.equals
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.