Использование объекта в операторе if ... (Android) - PullRequest
1 голос
/ 25 апреля 2010

У меня есть переменная объекта Object test = Spinner.getSelectedItem(); - Он получает выбранный предмет из Spinner (так называемый spinner) и называет предмет «test»

Я хочу сделать оператор if, связанный с этим объектом, например:

'if (test = "hello") {
//do something
}'

Но, похоже, не работает ....

Может ли кто-нибудь помочь мне? -Я должен использовать другой, если? или преобразовать объект в строку и т. д.? 1009

Большое спасибо ...

Джеймс

Ответы [ 4 ]

7 голосов
/ 25 апреля 2010

утверждение:

test = "hello"

- это присвоение строки "hello" переменной test - сравнение не выполняется.

test == "hello"

- это сравнение, но оно может не сработать, поскольку сравнивает ссылки. Два разных строковых экземпляра, которые оказываются как "привет", могут не совпадать, и поэтому утверждение может быть ложным

Попробуйте:

"hello".equals( test )
5 голосов
/ 25 апреля 2010

Если вы хотите сравнить строки, используйте равно () :

if ("hello".equals(test))...
0 голосов
/ 25 апреля 2010

Это также верно, когда я говорю test.equals ("привет"), мне не нравится другой способ, которым он не выглядит в моем стиле кодирования.

0 голосов
/ 25 апреля 2010

Сделать проверку строки и привести результаты getSelectedItem () к строке

string test = (string)Spinner.getSelectedItem();
if (test == "hello") 
{
    //Do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...