«если» не работает должным образом - PullRequest
1 голос
/ 15 февраля 2011

эй, я новичок в Android, и у меня есть проблема.вот мой код:

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.есть идеи почему?заранее спасибо

Ответы [ 2 ]

5 голосов
/ 15 февраля 2011

== сравнивает объект, а не содержимое строки. Вместо этого используйте .equals ("0").

3 голосов
/ 15 февраля 2011

Это не значит, что , если не работает должным образом.

В Java нельзя использовать == для сравнения объектов класса java.lang.String. Вам нужно использовать метод equals.

Что-то вроде:

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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...