1

私がやろうとしているのは、基本的にハッシュテーブルの1つの位置を削除してから、そのハッシュテーブルをユーザーの電話のファイルに保存することです。ハッシュテーブルには文字列しかないため、シリアル化は必要ありません。ハッシュテーブルのレイアウトは次のとおりです。

キー->整数

値->ArrayList()

arrayListには、単なる文字列値が含まれています。

私が抱えている問題は、arrayListの1つの位置を削除するときに、それがそのarrayListの最後の値である場合、つまり、ハッシュテーブルのその位置がnullになっていることです。そして、どういうわけか、このケースをチェックすることができません...私はさまざまな機能を試しましたが、どれも機能していないようです。これがハッシュテーブルから値を削除するコードです

    // delete the assignment from the public list
                for (int i = 0; i < allAssignments.size(); i++) {

        //Here is where I get a null pointer-vvv    
    for (int p = 0; p < allAssignments.get(i).size(); p++) {
                        if (allAssignments.get(i).get(p).getTitle().equals(title)
                                && allAssignments.get(i).get(p)
                                        .getDate_due().equals(Date)) {
                            allAssignments.get(i).remove(p);
                        }
                    }
            }

4-3-2-1のように順番に位置を削除すると、削除は完全に機能しますが、1番目の位置を削除してから、2番目の位置を削除しようとすると、にアクセスしようとしているため、nullポインタが表示されます。 1位が先。助言がありますか?

4

1 に答える 1

1
ArrayList temp = allAssignments.get(i);
if(temp !null){
...
}

これはnullをチェックします。

似たような質問

于 2012-10-28T04:13:16.133 に答える