我想知道如何將一種類型的列表轉換爲Java中使用推土機的另一種類型的數組。這兩種類型具有所有相同的屬性名稱/類型。例如,考慮這兩個類。將一種類型的列表轉換爲使用推土機的另一種類型的數組
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)
這兩個都不適合我,誰能告訴我我做錯了什麼?如果我創建了兩個包裝類,其中一個包含List,另一個包含b [],mapper.map函數可以正常工作。請看下圖:
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)?有一個更簡單的方法... 謝謝!
在你最後上市的有一個錯字,映射命令應該是:d d = mapper.map(C ,D.class);試圖瞭解你的問題和例子。 – 2010-11-18 15:47:43
謝謝,更正。 – aheuermann 2011-09-03 02:53:05