Dozerを使用して、Javaであるタイプのリストを別のタイプの配列に変換する方法を知りたいです。2つのタイプは、すべて同じプロパティ名/タイプを持っています。たとえば、これら2つのクラスについて考えてみます。
public class A{
private String test = null;
public String getTest(){
return this.test
}
public void setTest(String test){
this.test = test;
}
}
public class B{
private String test = null;
public String getTest(){
return this.test
}
public void setTest(String test){
this.test = test;
}
}
私はこれを運が悪かったので試しました。
List<A> listOfA = getListofAObjects();
Mapper mapper = DozerBeanMapperSingletonWrapper.getInstance();
B[] bs = mapper.map(listOfA, B[].class);
また、CollectionUtilsクラスを使用してみました。
CollectionUtils.convertListToArray(listOfA, B.class)
どちらも私のために働いていません、誰かが私が間違っていることを教えてもらえますか?2つのラッパークラスを作成すると、mapper.map関数は正常に機能します。1つはListを含み、もう1つはab[]を含みます。下記参照:
public class C{
private List<A> items = null;
public List<A> getItems(){
return this.items;
}
public void setItems(List<A> items){
this.items = items;
}
}
public class D{
private B[] items = null;
public B[] getItems(){
return this.items;
}
public void setItems(B[] items){
this.items = items;
}
}
これは奇妙なことに十分に機能します...
List<A> listOfA = getListofAObjects();
C c = new C();
c.setItems(listOfA);
Mapper mapper = DozerBeanMapperSingletonWrapper.getInstance();
D d = mapper.map(c, D.class);
B[] bs = d.getItems();
ラッパークラス(CおよびD)を使用せずにやりたいことを行うにはどうすればよいですか?もっと簡単な方法が必要です...ありがとう!