• 52 Java将一个对象列表转换成另一个对象列表


    场景介绍:有A、B两个公司,B公司向从A公司中拿到用户的信息。

    A存放用户信息的对象是

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class User {
        private String id;
        private String username;
        private String password;
        private String address;
        private String age;
    }

    A给B的用户数据是

    [ 
    User(id=1, username=zhangsan, password=123, address=安徽亳州, age=22),
    User(id=2, username=lisi, password=123, address=安徽合肥, age=23),
    User(id=3, username=wangwu, password=123, address=安徽阜阳, age=24)
    ]

    B存放用户信息的对象是

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class UserInfo {
        private String idCard;
        private String name;
        private String pwd;
    }

    此时可以看出,B公司接受的对象和Agon景介绍:有A、B两个公司,B公司向从A公司中拿到用户的信息。

    A存放用户信息的对象是

    @Data
    
    @AllArgsConstructor
    
    @NoArgsConstructor
    
    public class User {
    
        private String id;
    
        private String username;
    
        private String password;
    
        private String address;
    
        private String age;
    
    }

    A给B的用户数据是

    [ 
    
     User(id=1, username=zhangsan, password=123, address=安徽亳州, age=22),
    
     User(id=2, username=lisi, password=123, address=安徽合肥, age=23),
    
     User(id=3, username=wangwu, password=123, address=安徽阜阳, age=24)
    
    ]

    B存放用户信息的对象是

    @Data
    
    @AllArgsConstructor
    
    @NoArgsConstructor
    
    public class UserInfo {
    
        private String idCard;
    
        private String name;
    
        private String pwd;
    
    }
    

      

    此时可以看出,B公司接受的对象和A公司的内容不一样,这样就会使用到对象列表转换了

            List<UserInfo> collect = list.stream()
                    .map(l -> new UserInfo(l.getId(), l.getUsername(), l.getPassword()))
                    .collect(Collectors.toList());
    

     此时输出

    [UserInfo(idCard=1, name=zhangsan, pwd=123), UserInfo(idCard=2, name=lisi, pwd=123), UserInfo(idCard=3, name=wangwu, pwd=123)]
    

     

  • 相关阅读:
    python 学习记录
    Oracle Spatial构建自定义投影坐标系
    GeoWebCache参数之pixelSize(像素大小)
    MapViewer提示错误之Cannot read USER_SDO_TILE_ADMIN_TASKS view from database
    《微软ASP.NET和AJAX:构建网络应用程序》
    Microsoft Dynamics CRM 2011 beta 今天发布!
    重要:欢迎光临新版微软中文CRM论坛!
    快讯:CRM Update Rollup(升级包) 每8周一个!
    微软的云策略
    风向标:Microsoft Dynamics 与企业生产力
  • 原文地址:https://www.cnblogs.com/gfbzs/p/13689933.html
Copyright © 2020-2023  润新知