2011-03-04 24 views
1

我从doseTimeString空值,当我输出,:得到一个NullPointerException异常字符串比较

Log.d("dosetimeString", "" + dosetimeString); 

但是,如果我在这条线使用if条件,它给了我一个NullPointerException:

if (dosetimeString.equals("null") || dosetimeString == null 
    || dosetimeString.equals("")) { 
} 

回答

1

这是因为首先你测试

dosetimeString.equals("null") 

有您尝试访问变量dosetimeString这是空。

所以只需使用:

dosetimeString == null 
1

这是因为doestimeString为空。您无法访问空对象上的成员函数!

把doestiemString == null放在doestimeString.equals(“null”)之前,你应该没问题。

if (dosetimeString == null || dosetimeString.equals("null") || dosetimeString.equals("")){ 

} 
4

该NullPointerException异常是发生在此位的if语句:

dosetimeString.equals("null") 

,因为你是一个空的对象上调用的方法,并作为Roflcoptr说,如果你真的需要所有这些测试,你应该让该行写着:

if (dosetimeString == null || dosetimeString.equals("null") || dosetimeString.equals("")) { 

不过,如果你只是要检查是否为空,你只需要第一个条件。

if (dosetimeString == null) {