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

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

Войти
Регистрация
Восстановить пароль
 
TanaTiX
Модератор
2742 / 1587 / 144
Регистрация: 19.02.2011
Сообщений: 5,714
#1

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

09.10.2016, 12:21. Просмотров 197. Ответов 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     Одинаковые строки не равны
Посмотрите здесь:

Одинаковые названия id для 2х кнопок - Программирование Android
Пишу приложение и там есть 2 xml файла,что то типа диалога,там я ввожу данные элемента которого хочу добавить в БД,так вот у меня на каждом...

Одинаковые строки не равны - 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 сталкивалась один раз, и уже мало что помню. Писать всё...

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

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

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

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

как в си проверить равны ли строки? - C (СИ)
Есть 2 строки типа string как проверить равны ли они?

Если строки не равны, то соединить их - C++
как мне сравнить строки? если они не равны, то соединить их #include <iostream> #include <string.h> using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fraley
103 / 103 / 37
Регистрация: 24.05.2015
Сообщений: 313
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
Модератор
2742 / 1587 / 144
Регистрация: 19.02.2011
Сообщений: 5,714
09.10.2016, 13:57  [ТС]     Одинаковые строки не равны #3
fraley, нет, там значения пересоздаются через БД. Проблема решена, спасибо.
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
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 - все сюда

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

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