Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
TanaTiX
Модератор
2784 / 1635 / 163
Регистрация: 19.02.2011
Сообщений: 5,919
#1

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

09.10.2016, 12:21. Просмотров 250. Ответов 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
Почему нет равенства?
0
Лучшие ответы (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++
Доброго времени суток уважаемые форумчане. Помогите пожалуйста с написанием кода для данной задачи в вижуале. Если будет возможно,то с...

5
fraley
110 / 110 / 43
Регистрация: 24.05.2015
Сообщений: 329
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 адрес должен быть один и тот же.
1
TanaTiX
Модератор
2784 / 1635 / 163
Регистрация: 19.02.2011
Сообщений: 5,919
09.10.2016, 13:57  [ТС] #3
fraley, нет, там значения пересоздаются через БД. Проблема решена, спасибо.
0
dajver
410 / 274 / 18
Регистрация: 18.09.2010
Сообщений: 1,114
10.10.2016, 00:16 #4
попробуйте использовать equals вместо == и добавьте trim() в конце

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

Не по теме:

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

0
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, затем определяет, равны ли эти строки между собой. Пример...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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