当然有个前提是两个对象的属性类型一致才可以转换
@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.setUid(s.getId());
user.setUname(s.getName());
return user;
}
).collect(Collectors.toList());
System.out.println(copyUsers);
}
}