0

为什么我的“if”语句没有触发?

String something = "";
String category = json_data.getString("den");
Log.e("JSON", "category="+category);            
if (category == "1"){
  something = "Random something";
}

即使在我的 logcat 中我可以看到 JSON:“category=1”,“something”字符串也不会采用“Random something”值。这一定是java中的一些约定?请帮忙。

4

2 回答 2

4

采用:

if (category.equals("1")){
    something = "Random something";
}

或避免空指针异常的更好方法:

if ("1".equals(category)){
    something = "Random something";
}

另请查看此链接以获取详细信息:如何比较 Java 中的字符串?

于 2013-07-31T21:53:11.317 回答
1

您需要使用 String 对象上的 .equals 方法在 Java 中进行字符串比较。您正在进行的比较只是比较引用而不是实际的字符串值。

例子:

if(category.equals("1")){
    //do amazing stuff
}
于 2013-07-31T21:53:38.447 回答