Форум программистов, компьютерный форум CyberForum.ru

Одинаковые строки не равны - Android

Восстановить пароль Регистрация
 
TanaTiX
Модератор
 Аватар для TanaTiX
2731 / 1576 / 144
Регистрация: 19.02.2011
Сообщений: 5,658
09.10.2016, 12:21     Одинаковые строки не равны #1
Вот такой участок кода
Java
1
2
3
Log.w("status1", resource.getStatus());
Log.w("status2", Resource.STATUS_DEFAULT);
Log.w("status3", "" + (Resource.STATUS_DEFAULT == resource.getStatus()));
выдает вот такие результаты (копипаст)
W/status1: statusDefault
W/status2: statusDefault
W/status3: false
Почему нет равенства?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2016, 12:21     Одинаковые строки не равны
Посмотрите здесь:

Одинаковые названия id для 2х кнопок Android
Парсинг JSON-строки и вывод данных из строки Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fraley
90 / 90 / 31
Регистрация: 24.05.2015
Сообщений: 252
09.10.2016, 12:54     Одинаковые строки не равны #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Судя по всему STATUS_DEFAULT стринг и функция getStatus() тоже возвращает стринг.
Стринги в джаве сравниваются с помощью функции equals:
Java
1
Resource.STATUS_DEFAULT.equals(resource.getStatus());
Вы же в своем примере сравниваете адреса переменных, которые разные.

Добавлено через 19 минут
Хотя я сейчас подумал, если Resource это ваш класс, переменная STATUS_DEFAULT это static String -поле этого класса и функция getStatus() возвращает STATUS_DEFAULT адрес должен быть один и тот же.
TanaTiX
Модератор
 Аватар для TanaTiX
2731 / 1576 / 144
Регистрация: 19.02.2011
Сообщений: 5,658
09.10.2016, 13:57  [ТС]     Одинаковые строки не равны #3
fraley, нет, там значения пересоздаются через БД. Проблема решена, спасибо.
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
10.10.2016, 00:16     Одинаковые строки не равны #4
попробуйте использовать equals вместо == и добавьте trim() в конце

Resource.STATUS_DEFAULT.trim().equals(resource.getStatus().trim())
Rabbit_msk
0 / 0 / 0
Регистрация: 11.08.2016
Сообщений: 13
10.10.2016, 11:24     Одинаковые строки не равны #5
Вы сравниваете ссылки на переменные, а не их значения.
Используйте equals()
Паблито
10.10.2016, 11:26     Одинаковые строки не равны
  #6

Не по теме:

кто еще не отписался про equals - все сюда

Yandex
Объявления
10.10.2016, 11:26     Одинаковые строки не равны
Ответ Создать тему
Опции темы

Текущее время: 07:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru