場景介紹:有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)]