Сравнить две вещи не работает - PullRequest
0 голосов
/ 09 сентября 2011

У меня странная проблема в моем приложении для Android.Я должен сравнить две строки, которые равны.Я пробовал это:

if (raspunsdata.equals(rok)) {
                System.out.println("changed ");

            } else
                System.out.println("no change");
        }

, но я всегда получаю "без изменений".До этого у меня был System.out.println для обеих строк, и обе они имеют одинаковое значение.

Я пробовал также (raspunsdata==rok) и raspunsdata.contentEquals(rok), но у меня та же проблема.Зачем?Я не могу этого понять., ... пожалуйста, помогите ...

Ответы [ 2 ]

4 голосов
/ 09 сентября 2011

У вас могут быть нежелательные пробелы.Возможно, нужно использовать функцию обрезки только для того, чтобы убедиться.

if (raspunsdata.trim.equals(rok.trim())) { 
    System.out.println("changed "); 
} else 
    System.out.println("no change"); 
} 

Кстати, это правильный способ проверить, совпадают ли значения.

0 голосов
/ 09 сентября 2011

.equals - сравнивает значения обоих объектов. Если у вас есть 2 строки с одинаковыми наборами символов .equals вернет true; == - сравнивает, если ссылки на два объекта равны. Например:

String a = "lol";
String b = a;

a == b - будет верно.

Попробуйте прочитать: http://www.devdaily.com/java/edu/qanda/pjqa00001.shtml

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