一个常见的需求,就是将一种泛型的List转成另一种类型的List,比如:
List<Student> students;
List<Teacher> teachers;
前提是:这俩实体类的字段有重复的地方
字段是这样的:
import lombok.Data;
@Data
public class Student {
String age;
String height;
}
import lombok.Data;
@Data
public class Student {
String age;
String height;
}
此时我们的需求是:将Student类型的List转成Teacher类型的List
此时可以用Stream流的方式实现:
写法如下:
List<Student> students = new ArrayList<>();
List<Teacher> teacher = students.stream().map(info -> {
Teacher teach = new Teacher();
BeanUtils.copyProperties(info, teach);
return teach;
}).collect(Collectors.toList());
此时的teacher就已经得到赋值。
大功告成!
字段是这样的: