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);