我有一个“ AdResources”类。我创建了一个列表来保存AdResources对象
private List<AdResources> adResourcesList = null;
然后,我创建了一个AdResources对象
AdResources map = new AdResources();
我还通过
map
向map.setType(((JSONArray)nearbyPlacesData.get(i)).optString(0));
添加了一些数据(此处为空,请交叉检查)毕竟,我要做
adResourcesList.add(map);
。我在这里得到空指针异常。这很奇怪,因为在执行adResourcesList.add(map)之前运行调试器,我可以看到map
对象不为null,因此为什么要使用NPE?还需要注意的是,我是从AsyncTask doInBackground运行此程序的。
最佳答案
在添加之前,您必须初始化列表本身。
private List<AdResources> adResourcesList = new ArrayList<AdResources>();
您清楚地显示了列表在添加之前是
null
,因此当您尝试添加某些内容时,显然会抛出NullPointerException
。