2013-07-31 67 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 
}