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

Не работает сравнение String с пустой строкой - Android

Восстановить пароль Регистрация
 
Arion32
0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 38
14.11.2016, 12:34     Не работает сравнение String с пустой строкой #1
Добрый день. Возникла проблема использования оператора if при нажатии кнопки.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
          btn.setOnClickListener(new View.OnClickListener() {
 
            @Override
            public void onClick(View arg0) {
 
               if (ip == "" ) {
 
               IpAddress.setText("Введите IP");
                   
 
                }
                else
                IpAddress.setText(param );
}
});
Суть проблемы: ввожу значение "" и цикл в первом случаи отрабатывает. Далее если ввожу значение
не "" цикл переходит во второй случай. Но если после этого ввести "" всеравно
выводит результат второго случая. Т.е. попав во второй случай оно в нем и остается при дальнейшем нажатии.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2016, 12:34     Не работает сравнение String с пустой строкой
Посмотрите здесь:

R cannot be resolved to a variable, пустой проект Android
Сравнить текущую дату с строкой Android
Android Сравнение EditText и String
Android Определить первый пустой элемент ArrayList
Android Как управлять касанием на пустой области Layout?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
14.11.2016, 12:37     Не работает сравнение String с пустой строкой #2
ip это что? String? Ты сравниваешь стринги оператором ==? equals() для буржуев?
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,591
Завершенные тесты: 1
14.11.2016, 12:37     Не работает сравнение String с пустой строкой #3
какой цикл?
какой случай?
какое дальнейшее нажатие?

Java
1
 if (ip.isEmpty() ) {
shavuz
56 / 62 / 10
Регистрация: 29.01.2014
Сообщений: 299
14.11.2016, 12:44     Не работает сравнение String с пустой строкой #4
Цитата Сообщение от Паблито Посмотреть сообщение
if (ip.isEmpty() ) {
наверно так лучше:
Java
1
if (ip!=null && ip.isEmpty()
ExFau$t
55 / 55 / 4
Регистрация: 08.05.2012
Сообщений: 448
14.11.2016, 12:47     Не работает сравнение String с пустой строкой #5
shavuz,
Цитата Сообщение от Arion32 Посмотреть сообщение
ввожу значение ""
Он там что-то вводит, я бы вставил equals("").
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,591
Завершенные тесты: 1
14.11.2016, 12:49     Не работает сравнение String с пустой строкой #6
Цитата Сообщение от shavuz Посмотреть сообщение
наверно так лучше:
не видя кода - так не лучше, может у него там уже 100 раз все инициализировано
и еще лучше тогда так
Java
1
if (TextUtils.isEmpty(ip))
твой совет, как обычно из разряда - главное отписаться
Arion32
0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 38
14.11.2016, 12:51  [ТС]     Не работает сравнение String с пустой строкой #7
Цитата Сообщение от Паблито Посмотреть сообщение
1
*if (ip.isEmpty() )
Спасибо помогло!)
Но почему с "" не работает? Первый раз срабатывает а потом нифига.
shavuz
56 / 62 / 10
Регистрация: 29.01.2014
Сообщений: 299
14.11.2016, 12:54     Не работает сравнение String с пустой строкой #8
Цитата Сообщение от Паблито Посмотреть сообщение
не видя кода - так не лучше, может у него там уже 100 раз все инициализировано
не видя кода, видя переменную nullable это сразу nullpointer без лишней димагогии.
что ж ты ему сразу текстютилс не посоветовал?

Добавлено через 53 секунды
Цитата Сообщение от Arion32 Посмотреть сообщение
Но почему с "" не работает? Первый раз срабатывает а потом нифига.
стринг это не простой обьект как инт или дабл, его нельзя просто прировнять, у него есть функции которые это делают, если == то он никогда туда не зайдет
Паблито
не спать!
1803 / 1537 / 478
Регистрация: 12.05.2014
Сообщений: 5,591
Завершенные тесты: 1
14.11.2016, 12:56     Не работает сравнение String с пустой строкой #9
Цитата Сообщение от Arion32 Посмотреть сообщение
Но почему с "" не работает?
потому что уже написали в сообщении #5 - строки в джаве сравниваются через equals(), а не через ==

Добавлено через 24 секунды
Цитата Сообщение от shavuz Посмотреть сообщение
что ж ты ему сразу текстютилс не посоветовал?
да я просто у тебя забыл спросить с какого раза ему советовать TextUtils
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2016, 13:00     Не работает сравнение String с пустой строкой
Еще ссылки по теме:

Android Не получается запустить пустой проект AndroidStudio
Android ListView пустой
Android Не работает сравнение String через ==

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

Или воспользуйтесь поиском по форуму:
shavuz
56 / 62 / 10
Регистрация: 29.01.2014
Сообщений: 299
14.11.2016, 13:00     Не работает сравнение String с пустой строкой #10
Цитата Сообщение от Паблито Посмотреть сообщение
да я просто у тебя забыл спросить с какого раза ему советовать TextUtils
веселый парень!
Yandex
Объявления
14.11.2016, 13:00     Не работает сравнение String с пустой строкой
Ответ Создать тему
Опции темы

Текущее время: 14:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru