2013-02-16 2 views
0

у меня есть следующиеоблицовку() на пустой EditText возвращает ложь андроид

String newWord = (String) addNewWordEdTxt.getText().toString(); 
Log.d(TAG_WORD, "A:"+ String.valueOf(newWord.trim() == "")); 
Log.d(TAG_WORD, "B:" + String.valueOf(TextUtils.isEmpty(addNewWordEdTxt.getText().toString().trim()))); 

Кто-нибудь знает, почему А ложно и В верно для пустого EditText

благодаря

+0

Я думаю, что сравнение java с строкой в ​​любой строке использует .equals () метод не используется == that why ... –

ответ

3

кто знать, почему A является ложным, а B - для пустого EditText


Поскольку в случае, вы сравниваете ссылки и не качество, так что вы должны сделать это так:

Log.d(TAG_WORD, "A:"+ String.valueOf(newWord.trim().equals(""))); 


Примечание: Существует одно золотое правило: Если вы хотите сравнить Strings , всегда используйте equals() метод!

Вот хорошее объяснение:

1

я думаю Java строка сравнить с любым .equals использования строки() метод не используется ==

, что как

String.valueOf(newWord.trim().equals(""));