java - 如何将 ArrayList 数据映射到 DTO

标签 java

根据要求,我解析了一个 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/

相关文章:

java - 下载图像但图像大小在 kotlin 中不正确

java - 变量没有被使用,但显然是! - java

java - hibernate 不保存外键

java - 尝试覆盖文件中间的数据而不影响文件的开头

Java ObjectInputStream(服务器\客户端)

java - Mybatis 3.0.5 插入/更新语句映射与多个输入

java - 如何在java或python中根据一张图像生成不同颜色的图像?

java - 将文本和图片附加到图像

java - 处理未知请求

java - 纯 JSON(非 HAL 格式)的 Spring Data REST