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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
TanaTiX
Модератор
2746 / 1591 / 146
Регистрация: 19.02.2011
Сообщений: 5,732
#1

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

09.10.2016, 12:21. Просмотров 215. Ответов 5
Метки нет (Все метки)

Вот такой участок кода
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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одинаковые строки не равны (Программирование Android):

Одинаковые строки не равны - PHP ООП
имеется строка в текстовом файле m.txt (строка = '1') имеется объект, в который эта строка загружается class monster { public...

Как могут быть две одинаковые строки не равны!? - PHP
Здравствуйте. Я наверно сегодня уже переработал потому, что творятся странные вещи. if(isset($_GET) and isset($_GET)) { ...

Две одинаковые строки не распознаются, как одинаковые. Такое возможно? Скриншот дебага прилагается. - C#
Пишу программу, начал тестировать, проходить всё пошагово (пишущийся в данный момент функционал). В одном месте в коде сравниваю тексты. ...

Определить, действительно ли элементы строки k матрицы А (n,m) равны элементам 1-ой строки - PascalABC.NET
Очень нужно решить следующую задачу: Определить, действительно ли все элементы строки k матрицы А (n,m) равны элементам 1-ой строки. ...

Удалить строки, где данные в столбцах C,D,E на i равны данным этих же столцов из строки i-1 - VBA
Здравствуйте. Нужен макрос, выполняющих определенные действия (см. ниже). С VBA сталкивалась один раз, и уже мало что помню. Писать всё...

Определить длину строки,удалить из строки все символы, которые равны заданному - C++
Доброго времени суток уважаемые форумчане. Помогите пожалуйста с написанием кода для данной задачи в вижуале. Если будет возможно,то с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fraley
105 / 105 / 38
Регистрация: 24.05.2015
Сообщений: 316
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
Модератор
2746 / 1591 / 146
Регистрация: 19.02.2011
Сообщений: 5,732
09.10.2016, 13:57  [ТС] #3
fraley, нет, там значения пересоздаются через БД. Проблема решена, спасибо.
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,108
10.10.2016, 00:16 #4
попробуйте использовать equals вместо == и добавьте trim() в конце

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

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2016, 11:26
Привет! Вот еще темы с ответами:

Что нужно добавить в код чтобы текст "расстояния равны" появлялся если задать одинаковые точки - Pascal
что нужно добавить в код чтобы текст "расстояния равны" появлялся если задать одинаковые точки Ввод A(x1;y1); B(x2;y2) ...

Матрицу размера 5х6 заполнить так, чтобы элементы каждой строки, начиная со второй, были равны удвоенным элементам предыдущей строки - Turbo Pascal
Матрицу размера 5х6 заполнить так, чтобы элементы каждой строки, начиная со второй, были равны удвоенным элементам предыдущей строки ...

Найти одинаковые элементы первой строки, максимум соответствующих элементов второй строки, сократив матрицу - Matlab
Здравствуйте! Есть матрица,в которой нужно найти одинаковые элементы первой строки,после найти максимум соответствующих элементов...

Равны ли 2 строки между собой. - Pascal ABC
Составьте программу, которая позволяет ввести с клавиатуры две строки a и b, затем определяет, равны ли эти строки между собой. Пример...


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

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

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