Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
KeyGen
384 / 291 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
#1

Сравнение двух строк

04.12.2014, 21:14. Просмотров 1633. Ответов 8
Метки нет (Все метки)

Подскажите сравниваю две строки получаю отрицательный результат на одинаковых строка. Как так может быть?

Java
1
2
3
4
5
6
7
8
    ParseObject user = scoreList.get(0);
    if (user.get("password").toString() == passMd5) {
        Log.e("result", "connect");
    } else {
        Log.e("pass get", user.get("password").toString());
        Log.e("pass md5", passMd5);
        Log.e("result", "pass incorrect");
    }
результат:
Код
5363-5363/me.pinxter.massenger E/pass get : 81dc9bdb52d04dc20036dbd8313ed055
5363-5363/me.pinxter.massenger E/pass md5 : 81dc9bdb52d04dc20036dbd8313ed055
5363-5363/me.pinxter.massenger E/result : pass incorrect
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2014, 21:14
Ответы с готовыми решениями:

Регистронезависимое сравнение строк
Всем привет. Подскажите, как сделать так, что бы программа не обращала внимания...

Алгоритм сравнение двух списков list, для синхронизации таблицы
Добрый день форумчане. Очень нужна ваша помощь, срочно. Необходимо сделать...

Сравнение двух строк
Есть две строки, нужно сравнить их по содержимому. Если str1="a", str2="a", то...

Сравнение двух строк
Написать функцию, выполняющую сравнение строк (с игнорированием множественных...

Сравнение двух строк
помогите пожалуйста с заданием Даны две строки по длине не превышающие 255...

8
unknown_sb
7 / 7 / 2
Регистрация: 25.11.2013
Сообщений: 46
04.12.2014, 21:33 #2
Строки сравниваются так:
Java
1
2
3
4
5
6
7
8
ParseObject user = scoreList.get(0);
                if (user.get("password").toString().equals(passMd5)) {
                    Log.e("result", "connect");
                } else {
                    Log.e("pass get", user.get("password").toString());
                    Log.e("pass md5", passMd5);
                    Log.e("result", "pass incorrect");
                }
1
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
04.12.2014, 22:45 #3
unknown_sb + 1

Тоже как-то долго я пытался понять, что не так

Правда опять же загадка, почему позитивный результат сравнения описывается нулём (ложью)?

Или почему константы
VISIBLE это 0
зато INVISIBLE = 4

Где логика - ХЗ.
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
05.12.2014, 00:50 #4
Цитата Сообщение от Armagedo Посмотреть сообщение
Правда опять же загадка, почему позитивный результат сравнения описывается нулём (ложью)?
Где это вы такое нашли?
Цитата Сообщение от Armagedo Посмотреть сообщение
Или почему константы
VISIBLE это 0
зато INVISIBLE = 4
Потому что это константы) Они не должны быть как то логически подобраны, иногда бывают и 23536 и 55547 - зачем вообще писать эти значения в ручную? Читается то лучше, когда текстом написано.
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
05.12.2014, 10:16 #5
Spelcrawler, прошу пардону у присутствующих, попутал с compareTo, я её частенько пользую

По поводу констант вопрос был скорее риторический.
Правда, в чем сакральный смысл именно 0, 4, 8 для констант, которые используются только в одном единственном методе...я не уловил.
Ну, то такое

Кстати понял, что где-то чья-то логика захромала, когда нужно было сделать чередование в списке - чет/выкл, нечет/вкл, а схема setVisibility(position%2) не сработала.

Вообщем, совет, как всегда, один RTFM
0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
05.12.2014, 10:20 #6
Armagedo, а какие бы вы написали значения, если переменная может быть: visibe, invisible, gone? По-моему тут никак логически правильно их не сопоставить.
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
05.12.2014, 10:35 #7
1 (true) ,
0 (false),
-1 (Zed's dead, baby, Zed's dead)

0
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
05.12.2014, 10:41 #8
Armagedo, отрицательные числа в таких ситуациях используют для обозначения неопределенности значения. Не именно в данном конкретном случае (здесь неопределенности быть не может), а в общем. Даже во многих исходниках от гугла есть проверки вида:
Java
1
2
3
if(SOME_CONST < 0){
//exception
}
Так что тут такое дело, что другое, более общее, правило мешает сделать так как логически было бы действительно правильнее.
0
Armagedo
209 / 209 / 60
Регистрация: 22.08.2014
Сообщений: 644
05.12.2014, 10:46 #9
Та не, тут ответ надо давать типо "Вот когда напишешь свой Андроуд, тогда и будешь свои значения разадавать. А пока жуй, шо дают. Причем бесплатно"

Удачи
0
05.12.2014, 10:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2014, 10:46

Сравнение двух строк
Напишите функцию bool Compare(string S1, string S2), определяющую, совпадают ли...

Сравнение двух строк
Сравнение двух строк Как прервать цикл если введена пустая строка? Если :...

Сравнение двух строк
string fim11,fim12;bool usl11; if (fim11 &gt; fim112) usl11 = false; в данном...


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

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

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