Android if语句不会触发?

时间:2013-07-31 21:51:10

标签: android json if-statement

为什么我的“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中的一些约定? 请帮忙。

2 个答案:

答案 0 :(得分:4)

使用:

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

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

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

另请查看此链接以获取详细信息:How do I compare strings in Java?

答案 1 :(得分:1)

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

示例:

if(category.equals("1")){
    //do amazing stuff
}