场景介绍:有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)]