1

此代码有效。它打印出列表中的值

ArrayList<String> menuItemsUrl=null;

for (int i = 0; i < modules.size(); i++) {
                String tmp = modules.get(i).attr("href");
                Log.d("", tmp);

            }

但是这个会生成一个空指针。为什么?

for (int i = 0; i < modules.size(); i++) {
                String tmp = modules.get(i).attr("href");
                menuItemsUrl.add(tmp);

            }
4

2 回答 2

3

在您的代码中,您还没有初始化menuItemsUrl,因此是 NPE。

您已经在此处声明了您的列表ArrayList<String> menuItemsUrl=null;,当您尝试访问它时menuItemsUrl.add(tmp);menuItemsUrl并没有引用它指向 null 的任何内容,这意味着没有任何意义因此 NPE,要摆脱 NPE,请在使用之前对其进行初始化。

menuItemsUrl = new ArrayList<String>();
于 2012-05-26T14:04:36.687 回答
0

空点异常发生在“modules.size()”。模块是空引用。尝试实例化模块引用。

于 2012-05-26T15:41:25.600 回答