Java使⽤Stream流将⼀个集合⾥的某些字段转换为另外⼀个对象集合(属性名
不需要⼀致)
当然有个前提是两个对象的属性类型⼀致才可以转换
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
/**
* id
*/
private String id;
/
**
* 学⽣姓名
*/
private String name;
/**
* 学⽣性别
*/
private String gender;
/**
* 学⽣出⽣⽇期
*/
@DateTimeFormat("yyyy-MM-dd")
private Date birthday;
}
@Data
public class User {
private String uid;
private String uname;
}
使⽤map⽅法,通过new对象的getter,setter⽅法进⾏赋值
public class StreamListTest {
/**
* 使⽤java8的流进⾏转换两个对象属性不同的集合
* */
@Test
public void test(){
List<Student> students =new ArrayList<>();
students.add(new Student("1","aaa","男",new Date()));
students.add(new Student("2","bbb","⼥",new Date()));
List<User> copyUsers = students.stream().map(s ->
{
User user =new User();
user.Id());
user.Name());
return user;
}java stream
).List());
System.out.println(copyUsers);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。