マップのキーは列挙型で、いくつかの値があります。
フィールドを持つJavaクラスがあり、フィールドには列挙値で注釈が付けられています。マップからフィールドに値を設定したいのですが、何か提案がありますか?
私は普通の古いリフレクションを使用していますが、これを達成するためのより良い方法、春の何か、またはApache Commonsなどからのものはありますか?
例えば
Map<Myenum,String> map = new HashMap<Myenum,String();
map.add(Myenum.Value1, "1");
map.add(Myenum.Value2, "2");
map.add(Myenum.Value3,"3");
私は次のようなJavaクラスを持っています
MyClass{
@Use(fieldName=Myenum.Value1)
String Field1;
@Use(fieldName=Myenum.Value2)
String Field2;
@Use(fieldName=Myenum.Value3)
Object Field3;
@Use(fieldName=Myenum.Value4)
Integer Field4;
}
MyClass クラスを作成し、フィールド (Field1、Field2、Field3、Field4) に、フィールドの注釈と一致するキーを持つマップからの値をロードする必要があります。
たとえば、field1 の注釈がマップ内のエントリ 1 のキーと一致するため、field1 には値 1 が必要です。
Jaxws @XMLElement 注釈付きフィールドが xml/soap からロードされた値を取得する方法に似ている可能性があります
助言がありますか?