1

このコードは機能します。リスト内の値を出力します

ArrayList<String> menuItemsUrl=null;

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

            }

しかし、これはnullポインタを生成します。なぜ?

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;にアクセスしようとしたときに、 nullを指しているものを参照していません。つまり、NPEを意味するものではなく、NPEを削除するには、使用する前にリストを初期化しますmenuItemsUrl.add(tmp);menuItemsUrl

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

ヌルポイント例外は「modules.size()」で発生します。モジュールはヌル参照です。モジュール参照をインスタンス化してみてください。

于 2012-05-26T15:41:25.600 に答える