2015-04-30 4 views
0

Мне просто интересно, что, черт возьми, происходит под капотом, когда намерения дополнительно не существуют в первую очередь?intent.getStringExtra() возвращает значение null, но String! = Null истинно? Android

Например:

String remindOnString = intent.getStringExtra(NoteExtrasKey.EXTRA_NOTE_REMINDON); 

if(remindOnString != null && !remindOnString.equals("")) 
    mRemindDateTime = Timestamp.valueOf(remindOnString); 

Это довольно странно для меня выражение: remindOnString != null верно, несмотря на то, что remindOnString получает нуль.

Вот скриншот часы, которые я установил для этой переменной:

enter image description here

Я не знаю, если я пропустил что-то из документации. Но это очень странно для меня. Согласно подсказке (что я считаю из api-docs) intent.getStringExtra(KEY) возвращает строку или null.

Какое колдовство это?

+2

Возможно, 'remindOnString' содержит строку **" null "**. Вы должны попытаться напечатать значение remindOnString. –

ответ

1

Он возвращает значение «null», но все же объект.

+0

Я не понимаю, проверка строки для nullness просто как str! = Null. Как объект string может содержать нулевое значение, но все же объект? Конечно, str - это объект в декларации, но не ссылается ни на что. Вот почему я проверяю, ссылается ли String на null. Я могу подтвердить iRavi iVooda, но счет на строковое значение равен 4. –

+0

Я также говорю, что он имеет значение «null» как iravi ivooda –

+0

Хорошо, спасибо, что освободил это для меня. Теперь это приводит меня к моему следующему вопросу. Почему он возвращает «null»? –

Смежные вопросы