HashMap<String,String>
aに a を追加すると、次の問題が発生しTreeSet<HashMap<String,String>>
ます。コードは次のとおりです。
... Do something
XMLRoot root = XMLRoot
.newBuild()
.setTrx(
Tag
.newBuild()
.setName("trx")
.addAttribute("type", "04/01")
.addAttribute("id", id));
... => BreakPoint here!
メソッドaddAttribute()
が行うことは次のとおりです。
public Tag addAttribute(String name, String value) {
// Create the attribute.
HashMap<String, String> att = new HashMap<String, String>();
att.put(name, value);
attributes.add(att);
return this;
}
attributes
変数は type のコレクションですTreeSet<HashMap<String,String>>
。現在、Netbeans デバッガーを使用して、XMLRoot オブジェクトの作成直後にブレークポイントを追加しましたが、ブレークポイントに到達しないことがわかりました。問題は、例外がスローされず、エラーも何も発生しないことです。別の奇妙なことは、addAttribute()
メソッドを使用して要素を 1 つだけ追加すると、すべて正常に機能することです。
質問: 2 番目の要素の TreeSet クラスの add() メソッド内で実行が終了する原因は何ですか?
注:デバッガーを使用して、最初の属性が設定されていることを確認できましたが、2 番目の属性には到達しませんでした。これは、2 番目の要素の追加中に実行が突然終了したことを意味します。
詳細: Apple JDK 1.6.0_51 64 ビット OSX 10.8.4 (Mountain Lion)