检查返回statemnt中jsonArray长度的Nullpointer

时间:2015-09-19 16:16:02

标签: android

这是我的代码:

private JSONArray dataArray;

class ....

@Override
public int getCount() {
    return dataArray.length();
}

现在,我想检查一下,如果数组长度为null,我尝试使用try catch但它没有用。

@Override
    public int getCount() {
        try {
            return dataArray.length();
        } catch (NullPointerException npe){
            Log.e("ARRAY","is null");
        }
    }

因为缺少return语句。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

虽然这不是最好的方法,但以下代码可以正常工作

public int getCount() {
        try {
             int len = dataArray.length();
        } catch (NullPointerException npe){
            Log.e("ARRAY","is null");
        }
         return len;
        }

答案 1 :(得分:0)

我不确定您要实现的目标,但请尝试修复此错误:

@Override
    public int getCount() {
        try {
            return dataArray.length();
        } catch (NullPointerException npe){
            Log.e("ARRAY","is null");
            return 0;
        }
    }

但是,检查不良条件而不是使用异常总是更好。也许您可能想要考虑这样编码:

@Override
    public int getCount() {
        If(dataArray != null) {
            return dataArray.length();
        }
        else {
            Log.e("ARRAY","is null");
            return 0;
        }
    }

答案 2 :(得分:0)

尝试以下

public int getCount() {
               int len=0;
            if(dataArray !=null && dataArray.length()>0)
             {
                  len = dataArray.length();
             }
             else
              {
               Log.e("ARRAY","is null");
              }
         return len;
        }