我想知道如何将一种类型的列表转换为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