List 通用列表的Dozer映射
我有一个像List 通用列表的Dozer映射,list,generics,mapping,dozer,List,Generics,Mapping,Dozer,我有一个像 public class ListWrapper<T> { private List<T> entries = new ArrayList<T>(); public List<T> getEntries() { return entries; } public void setEntries(List<T> entries) { this.entries = entries; } 还有一个豆子状的 p
public class ListWrapper<T> {
private List<T> entries = new ArrayList<T>();
public List<T> getEntries() {
return entries;
}
public void setEntries(List<T> entries) {
this.entries = entries;
}
还有一个豆子状的
public class AccountBo {
private String accountName;
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
}
public class AccountDto {
private String accountName;
public String getAccountName() {
return accountName;
}
public void setAccountName(String accountName) {
this.accountName = accountName;
}
}
现在的想法是用AccountBo类型的bean填充列表,并使用Dozer映射列表,然后用AccountDto填充到bean
AccountBo accountA = new AccountBo();
accountA.setAccountName("Person A");
AccountBo accountB = new AccountBo();
accountB.setAccountName("Person B");
ListWrapper<AccountBo> listWrapperBo = new ListWrapper();
listWrapperBo.getEntries().add(accountA);
listWrapperBo.getEntries().add(accountB);
ListWrapper<AccountDto> dtoList = EntityMapper.getInstance().map(listWrapperBo, ListWrapper.class);
List<AccountDto> listDto = dtoList.getEntries();
AccountBo accountA=new AccountBo();
accountA.setAccountName(“人员A”);
AccountBo accountB=新AccountBo();
accountB.setAccountName(“人员B”);
ListWrapper listWrapperBo=新ListWrapper();
listWrapperBo.getEntries().add(accountA);
listWrapperBo.getEntries().add(accountB);
ListWrapperDtoList=EntityMapper.getInstance().map(listWrapperBo,ListWrapper.class);
List listDto=dtoList.getEntries();
但是-目标列表中的bean的类型是AccountBo
我能做些什么来获得AccountDto的列表?我建议使用推土机代替推土机
最简单的解决方案是创建ListWrapper的子类,其中包括AccountDto:
public class DtoListWrapper extends ListWrapper<AccountDto> {
}
公共类DtoListWrapper扩展了ListWrapper我想答案已经在这里了[[1]:
ModelMapper modelMapper = new ModelMapper();
ListWrapper<AccountDto> listWrapper = modelMapper.map(listWrapperBo, DtoListWrapper.class);