リフレクションを使用して、jaxb-object に hashMap のデータを入力しています。@XmlElement に name 属性がある場合はそれを使用し、ない場合はフィールド名を使用します。
XmlElement anno = field.getAnnotation(XmlElement.class);
String name = anno.name();
name 属性が手動で設定されていない場合 (単純な @XmlElement アノテーションを使用した場合など)、name フィールドの値は "##default" であることがわかりました。属性が設定されているかどうかを確認するには、次のコードを使用します。
if(!"##default".equals(name)){
しかし、私はそれが受け入れられるとは思わない。どうすればもっとうまくできますか?