Сравнение строк не происходит [дубликат]

289
03 июня 2017, 15:08

На данный вопрос уже ответили:

  • Как сравнивать строки в Java? 1 ответ

Есть EditText и одна кнопка. Когда нажимают на кнопку, если текст в EditText равен 12345, то уведомление должен быть true, если нет то false. Когда я напишу 12345 все равно уведомление false. Не знаю почему. Вот мой код.

Answer 1

Не сравнивайте строки используя операторы == и !=. Они сравнивают строки по ссылке, а вам нужно по значению. Вместо этого используйте функцию equals.

if("12345".equals(i)) {
  Toast.makeText(this, "true", Toast.LENGTH_SHORT).show();
} else {
  Toast.makeText(this, "false", Toast.LENGTH_SHORT).show();
}
Answer 2

Соглашусь с ответом Никиты Васильченко, но добавлю, что есть и более элегантный способ сверки строк, и, что важно, null-safe:

TextUtils.equals(string1, string2);
READ ALSO
Как выровнять символы в строке?

Как выровнять символы в строке?

Есть массив строкНужно чтобы каждая строка начиналась с одного из наборов:

338
Как узнать, какие порты нужно пробросить при использовании Java ServerSocket?

Как узнать, какие порты нужно пробросить при использовании Java ServerSocket?

Приветствую всех! У меня следующая проблема: есть сервер на Java, использующий для работы ServerSocket , к которому подключаются несколько клиентовВ...

898
Android, JSON, полученный с сервера

Android, JSON, полученный с сервера

Учусь работать с Android, использую этот пример: http://androiddocsru/parsing-json-poluchaem-i-razbiraem-json-s-vneshnego-resursa/ Все замечательно, выводит в лог, вероятно глупый...

316
Вылетает исключение fragment already active

Вылетает исключение fragment already active

Вылетает исключение в методе setArguments(Bundle)Я читал другие ответы на этот вопрос

265