Страница 1 из 1

Сравнение String'овых переменных

Добавлено: 27 окт 2014, 12:58
grem17
добрый день
добавляю в SQL базу запись в которой есть некое стриговое поле с параметром ""
т.е. пустое...
примеры привожу упрощенные:

вызываю из основного модуля процедуру добавления

Код: Выделить всё

String contact=""; 
SQLWorkDB.Insert(contact);
в другом модуле отрабатывает вставка в базу, данные точно добавляются, проверял, если задать contact="test"; - запись норм добавится

Код: Выделить всё

public void Insert(String Contact) {
cv.put(c_tMain_Contact, Contact);
long rowID = db.insert(tMain, null, cv);}
опять с основного модуля обращаюсь к БД и считываю эту переменную, конечно я делаю все в цикле, здесь просто укажу строчку

Код: Выделить всё

String contact = cAllDataDBSQL.getString(cAllDataDBSQL.getColumnIndex(SQLWorkDB.c_tMain_Contact));
дальше пытаюсь сравнить полученный результат, вернее проверить - если там пусто то выполнить один код, если там что-то есть то другой

Код: Выделить всё

if (contact==""){
//1
}else{
//2
}
вопрос - почему сравнение //1 не срабатывает? точно знаю что в переменной пусто, но условие contact=="" не выполняется
пробовал присваивать и сравнивать со значением null - то же не работает

пробовал делать так contact.trim() - не помогает...
вроде переменные одного типа...

кстати такая же фигня при передаче данных между активити, если передаю null или "" - то сравнение не работает, если же передаю цыфру то сравнение норм

как лучше записывать перменные в базу SQL для дальнейшего сравнения, если они пустые?

Re: Сравнение String'овых переменных

Добавлено: 27 окт 2014, 13:08
Mikhail_dev
Потому что строка - это объект и сравнивать их надо как объекты, через equals

Re: Сравнение String'овых переменных

Добавлено: 27 окт 2014, 13:12
grem17
извините, вопрос снят, null сравнение работает, я просто тестировал со старыми данными
когда добавил новую запись все сработало

Re: Сравнение String'овых переменных

Добавлено: 27 окт 2014, 13:22
grem17
Mikhail_dev писал(а):Потому что строка - это объект и сравнивать их надо как объекты, через equals
да, через equals все заработало, спасибо