根据要求,我解析了一个 XML 文件并将数据设置到这两个 DTO 类中:
public class DetailsDTO implements java.io.Serializable {
private String userid;
private String accountnum;
private Customer customer;
// setters and getters
public class Customer implements Serializable
{
private String street;
private String country;
// setters and getters
将 Customer
类的数据添加到 DetailsDTO
后,我将此 DetailsDTO
添加到 ArrayList
中,如图所示:
List list = new ArrayList();
// and added these DetailsDTO class to an ArrayList
list.add(detailsDTO)
现在有一个名为 WholeDetails
的主 DTO,它包含在各种 DTO 类中定义的所有变量,如图所示。
class WholeDetails
{
private String userid;
private String accountnum;
private String street;
private String country;
}
现在,如您所见,ArrayList
中的所有数据都可用。
如何从 ArrayList
中提取内容并将其映射到 WholeDetails
?
最佳答案
您将必须进行映射,例如
List<DetailsDTO> list = new ArrayList<DetailsDTO>();
// and added these DetailsDTO class to an ArrayList
list.add(detailsDTO);
List<WholeDetails> wholeDTOList = new ArrayList<WholeDetails>();
for(DetailsDTO dto:list){
WholeDetails whole = new WholeDetails();
whole.setUserid(dto.getUserid());
whole.setAccountNum(dto.getAccountNum());
whole.setStreet(dto.getCustomer().getStreet());
whole.setCountry(dto.getCustomer().getCountry());
wholeDTOList.add(whole);
}
如果您希望它更短,您可以创建一个适配器类,将 DetailsDTO
映射到 WholeDetailsDTO
并将结果对象添加到列表中
关于java - 如何将 ArrayList 数据映射到 DTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8196990/