2013-07-31 66 views
0

为什么我的“if”语句不会触发?Android if语句不会触发?

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

即使我logcat中,我可以看到JSON:“类别= 1”的“东西”字符串不采取“随机的东西”的价值。 这必须是一些在Java中的约定? 请帮忙。

回答

4

使用:

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

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

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

也可以看看这个链接查看详细:How do I compare strings in Java?

+0

谢谢。这是一个奇怪的语法:) – user1137313

+1

@ user1137313不,不是真的。 – Vikram

1

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

例子:

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