zoukankan      html  css  js  c++  java
  • 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)]
    

     

  • 相关阅读:
    Canvas文本绘制
    Canvas贝塞尔三级曲线
    Canvas贝塞尔二级曲线
    Canvas arcTo绘制圆弧
    mybatis springmvc调用oracle存储过程,返回记录集
    java调用oracle存储过程,返回结果集
    oracle存储过程返回结果集
    存储过程变量类型定义与表字段一致
    HTML5获取当前的经纬度坐标
    实现精灵沿着圆形轨迹运动
  • 原文地址:https://www.cnblogs.com/gfbzs/p/13689933.html
Copyright © 2011-2022 走看看