Java Logcat空检查返回假阳性
我正在做一个简单的测试(尝试对一个值进行空检查),为了好玩,我决定对一个虚构/不存在的值进行空检查:“striiing”,它在我的源代码中不存在。然后,我检查了日志,发现这个不存在的值显示为:Java Logcat空检查返回假阳性,java,android,logcat,Java,Android,Logcat,我正在做一个简单的测试(尝试对一个值进行空检查),为了好玩,我决定对一个虚构/不存在的值进行空检查:“striiing”,它在我的源代码中不存在。然后,我检查了日志,发现这个不存在的值显示为: 04-18 04:40:22.197: D/com.game.demo.Level1(15800): Broken Value! Debug! Debug! 执行以下操作时: if ("striiing" != null) { Log.d(TAG, "Broken Value!
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);
有人能解释为什么一个不存在的值会显示为非null吗?这很奇怪 “striiing”
是字符串文本,在Java中是非空对象。请尝试以下方法:
String s = null;
if (s == null) ...
它应该像预期的那样工作