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

 

原文地址:https://www.cnblogs.com/gfbzs/p/13689933.html