2012-04-13 14 views
0

可能性の重複取得:AのHashMapのトラバース、私はNullPointerExceptionが

HashMap<String, HashSet<String>> map; 

....//I didn't write those code. 

System.out.println(map.entrySet().size()); // run util here is ok, I get the size of the map. 
for(Map.Entry<String, HashSet<String>> entry : map.entrySet()) {// here throw the exception 

} 

そして、私は例外を取得:
When traverse a HashMap, I get NullPointerException

をこれが私のコードです

スレッド内の例外"main" key.test.EnwikiOutlink.main(EnwikiOutlink.java:68)のjava.lang.NullPointerException

マップオブジェクトには10​​,000を超えるマップオブジェクトがあり、サーバーマシンで実行してデバッグできませんでした。しかし、私がこのマップのサイズを(10,000以下で)小さくすると、プログラムは正常に実行されます。問題の原因と解決方法は何ですか?ありがとう!

+0

したがって、 'System.out'とforループの間には何もありません。そしてあなたは間違いなくラインのためにNPEを手に入れましたか? – Thomas

答えて

0

HashMapでは、値にnullを設定できます。したがって、HashMapでのHashSetがnullの場合、NullPointerExceptionが発生します。 HashSetがnullでないことを確認してください

+0

入力を意味します(HashSet )がnullまたはHashSet がnullですか? – janekey

+1

'HashSet 'はnullでもかまいません。 –

関連する問題