0

マップのキーは列挙型で、いくつかの値があります。

フィールドを持つ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 からロードされた値を取得する方法に似ている可能性があります

助言がありますか?

4

1 に答える 1