2013-04-18 3 views
0

Я делаю простой тест (попытка нейтрализовать значение) и просто для ударов. Я решил не проверять значение make/nexistant: «striiing», которого нет нигде в моем исходный код. Затем я проверил мой LogCat и понял, что это не существует значение отображается как:Logcat Null Check Возвращение False Positive

04-18 04:40:22.197: D/com.game.demo.Level1(15800): Broken Value! Debug! Debug! 

при выполнении следующих действий:

if ("striiing" != null) { 
      Log.d(TAG, "Broken Value! Debug! Debug!"); 
prefs.getBoolean("name", true); 
prefs.getBoolean("player", true); 
prefs.getBoolean("points", true); 
prefs.getBoolean("level", true); 
prefs.getBoolean("gear", true); 

Может кто-нибудь объяснить, почему не существует значение может/будет отображаться как NOT NULL ? Это довольно странно.

ответ

0

"striiing" - это строковый литерал, который является непустым объектом в Java. Попробуйте это вместо:

String s = null; 
if (s == null) ... 

И он должен работать должным образом.

+0

Отлично! Спасибо!! –

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