我有一个“ AdResources”类。我创建了一个列表来保存AdResources对象

private List<AdResources> adResourcesList = null;


然后,我创建了一个AdResources对象AdResources map = new AdResources();
我还通过mapmap.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

07-27 17:14