Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将ArrayList数据映射到DTO_Java - Fatal编程技术网

Java 如何将ArrayList数据映射到DTO

Java 如何将ArrayList数据映射到DTO,java,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 Serializabl

根据要求,我解析了一个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)
现在有一个主DTO,名为
WholeDetails
,它由在各种DTO类中定义的所有变量组成,如图所示

class WholeDetails
{
private String   userid;
private String   accountnum;
private String   street;
private String   country;
}
现在,如您所见,所有数据都可以在
ArrayList
中保存


如何从
ArrayList
中提取内容并将其映射到
所有详细信息

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

}   
List List=new ArrayList();
//并将这些DetailsTo类添加到ArrayList中
列表。添加(详细信息到);
List wholeDTOList=new ArrayList();
对于(DetailsDTO dto:list){
WholeDetails整体=新的WholeDetails();
setUserid(dto.getUserid());
setAccountNum(dto.getAccountNum());
整条.setStreet(dto.getCustomer().getStreet());
.setCountry(dto.getCustomer().getCountry());
整体列表。添加(整体);
}   

如果您希望它更简短,您可以创建一个适配器类,将
DetailsDTO
映射到
WholeDetailsDTO
,并将结果对象添加到列表中

非常感谢您的帮助,今天您救了我不眠之夜。