这周末我的应用程序发生了一些奇怪的事情。 星期四之前,我一直在使用这条指令:
if(!jsonL2.has("counters"))
截至周日,该应用程序在该行代码中遭遇致命异常 我不得不使用临时布尔变量来避免异常:
Boolean s =jsonL2.has("counters"); //Works!
if(s==false){
这是一个空指针异常。不知何故,当Json.has(" key")在IF语句中时,如果未找到Key,则在评估时返回null。 (而不是返回False!)
如果我在IF条件之外选择Json.has(" key"),那么当找不到密钥时它会返回False。 这种情况以前没有发生过。
有人可以解释一下吗?编程规则是否从一天变为 另一个是Eclipse在背景中默默地更新自己?
以下是包含更改的完整代码:
//if(!jsonL2.has("counters")){ //BAD!! Fatal Exception after June 15
Boolean s =jsonL2.has("counters"); //Works!
if(s==false){ //Works!
httpbusy=false;
i= new Intent();
i.putExtra("NAVIGATION", "summary");
releaseCamera();
setResult(Activity.RESULT_CANCELED, i);
finish();
}