java8的lambda表达式,将List<entity> 转为 List<dto>
时间: 2024-02-20 22:34:16 浏览: 174
假设你有以下的实体类 Entity 和数据传输对象 DTO:
class Entity {
private String name;
private int age;
// 省略 getter 和 setter 方法
}
class DTO {
private String name;
private int age;
public DTO(String name, int age) {
this.name = name;
this.age = age;
}
// 省略 getter 和 setter 方法
}
你可以使用 Java 8 的 Lambda 表达式将 List<Entity> 转换为 List<DTO>,示例代码如下:
List<Entity> entityList = new ArrayList<>();
entityList.add(new Entity("Alice", 18));
entityList.add(new Entity("Bob", 20));
List<DTO> dtoList = entityList.stream()
.map(entity -> new DTO(entity.getName(), entity.getAge()))
.collect(Collectors.toList());
以上代码中,首先创建了一个 List<Entity>
对象 entityList
,并向其中添加了两个实体对象。然后使用 entityList.stream()
方法将其转换为一个流对象,使用 map
方法将 Entity
对象映射为 DTO
对象,并使用 collect
方法将 DTO
对象收集到一个新的 List<DTO>
对象 dtoList
中。
值得注意的是,上述代码中使用了构造方法 new DTO(entity.getName(), entity.getAge())
来创建新的 DTO
对象,也可以使用其他方式来创建 DTO
对象,例如使用 DTO
对象的 Builder
模式或者静态工厂方法等。
相关推荐












