• 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)]
    

     

  • 相关阅读:
    10大开源文档管理系统,知识管理系统
    okhttp原理,okhttp为什么好?
    开放式创新对程序开发有什么深远的影响?
    TypeScript中文手册【从入门到精通】
    CentoOS6 32停更了,如何继续用yum源【解决方案】
    electronic为什么要用JavaScript开发桌面应用
    统一身份认证登录入口,统一用户认证和单点登录解决方案
    PHP数组如何倒叙 array_reverse
    Windows electron开发实例大全
    AI深度学习的基础上处理自然语言
  • 原文地址:https://www.cnblogs.com/gfbzs/p/13689933.html
Copyright © 2020-2023  润新知