2011-02-15 49 views
1

嘿, 我是新来的android和我有一个问题。这里是我的代码:“if”如果不能正常工作

Log.v("Test", "" + lv_arr_id[0]); //displays 0 
    if (lv_arr_id[0] == "0") { 
     Toast.makeText(longOperationContext, "A", Toast.LENGTH_SHORT).show(); 
    } 
    else { 
     Toast.makeText(longOperationContext, "B", Toast.LENGTH_SHORT).show(); 
    } 

lv_arr_id [0]的值为“0”,是一个字符串,它通过JSON从网上拉到外部数据。然而每次B敬酒被触发而不是A敬酒。值真的是0,我在logcat中测试了这个。 有什么想法为什么? 在此先感谢

+0

如果工作正常:)但'==' - 比较是不是最好的在你的情况:) – Tima 2011-02-15 17:03:34

回答

5
==

比较对象,而不是字符串的内容。改为使用.equals(“0”)。

+0

这样做,谢谢! – robs 2011-02-15 17:04:57

3

这不是如果无法正常工作。

在Java中,不能使用==来比较java.lang.String类的对象。您需要使用equals方法。

是这样的:

if (lv_arr[0].equals("0")) { 
    // 
} else { 

}