これは古いコードであり、デバッグ中です。 サイズ2のMap
(myMap)があります(確かに)。キーはnull
と1
です。Map.keySet()とSet.addAll throw NullPoniterException
SortedSet mySet = new TreeSet();
mySet.addAll(myMap.keySet());
Iterator mySetIterator = mySet.iterator();
while (mySetIterator.hasNext()) {
Object newObj = mySetIterator.next();
Object mapObj = myMap.get(newObj);
}
このwhile
ループは、1回のみ繰り返します。ここで何が間違っているのか分かりません。何か問題ある?
私を助けてください。前もって感謝します。
更新:
は、今私は嘆願がキーオブジェクトのcompareToメソッドをチェックmySet.addAll(myMap.keySet());
<Oct 18, 2011 12:36:21 PM IST> <Error> <> <BEA-000000> <java.lang.NullPointerException
at edu.emory.mathcs.backport.java.util.TreeMap.compare(TreeMap.java:934)
at edu.emory.mathcs.backport.java.util.TreeMap.put(TreeMap.java:97)
at edu.emory.mathcs.backport.java.util.TreeSet.add(TreeSet.java:149)
at java.util.AbstractCollection.addAll(AbstractCollection.java:318)
at edu.emory.mathcs.backport.java.util.TreeSet.addAll(TreeSet.java:165)
問題を示す短くしかし完全なプログラムを提供してください。 –
私は混乱を避けるために新しい問題であるので、あなたは新しい質問をするべきだと思います。 NPEはツリーマップのcompareメソッドから来ています。あなたは、ツリーセットのための有効な比較器を持っていますか?または、クラスはcompareToメソッドを実装したものと同等の実装をしていますか?ヌルキーはありますか?あなたのcompareToメソッドも例外をスローすることができますか?あなたの新しい質問に新しいコードを投稿してください。 –