我有2个对象列表:
List<User>
List<UserResource>
User
课程:
public class User {
private int id;
private String name;
private String address;
**SETTERS & GETTERS**
}
UserResource
课程:
public class UserResource {
private String name;
private String address;
**SETTERS & GETTERS**
}
我的List<User>
有数据,我想将name
和address
中的值映射到UserResource
的{{1}}和name
,使用java 8 stream和lambda,但我不知道该怎么做。
在线搜索相当一段时间但无法找到类似的问题。类似的东西:
address
我尝试了类似下面的内容,但我不使用构造函数,不确定如何解决它。
List<User> users = **data inserted**
List<UserResource> resources = users.forEach(u ->{
u.setName(users.getName());
u.setAddress(users.getAddress());
});
答案 0 :(得分:5)
你的编辑在逻辑上是正确的,我假设你想通过setter来做,在这种情况下定义一个lambda体并在那里执行操作......
.map(u -> {
UserResource ur = new UserResource();
ur.setName(u.getName());
ur.setAddress(u.getAddress());
return ur;
}).collect(...)