2013-04-18 62 views
0

我正在做一個簡單的測試(嘗試null檢查一個值),只是爲踢我決定null檢查一個make/nonxistant值:「striiing」這不存在我的任何地方源代碼。然後我檢查了我的logcat和實現爲出現這種不存在的價值:Logcat空檢查返回的假陽性

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

優秀!謝謝!! –