在String比较上获取NullPointerException

时间:2011-03-04 11:45:18

标签: android

当我使用:

输出时,我从doseTimeString得到一个空值
   Log.d("dosetimeString", "" + dosetimeString); 

但如果我在这一行使用if条件,它会给我一个NullPointerException:

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

3 个答案:

答案 0 :(得分:4)

在if语句的这一位发生NullPointerException:

dosetimeString.equals("null")

因为你在null对象上调用一个方法,并且正如Roflcoptr所说,如果你真的需要所有那些测试,你应该读取该行:

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

但是,如果您只想检查它是否为空,则只需要第一个条件。

if (dosetimeString == null) {

答案 1 :(得分:1)

这是因为首先要测试

dosetimeString.equals("null")

你试图访问变量dosetimeString,它是null。

所以只需使用:

dosetimeString == null

答案 2 :(得分:1)

那是因为dotimeString为null。您无法访问空对象上的成员函数!

在dotimeString.equals(“null”)之前放置doestieSString == null,你应该没问题。

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

}