当前位置: 首页 > 知识库问答 >
问题:

Mapstruct:将对象内的列表映射到对象列表

宋运锋
2023-03-14

给定:

public class Car {
  private String plate;
  private List<String> tires;
}

public class TirePlate {
  private String plate;
  private String tire;
}

我想把所有的车都标出来。将轮胎分为单独的轮胎板。我知道我可以做一个列表

我怎么把盘子放进去?


共有1个答案

麻学博
2023-03-14

您可以做的是为列表创建一个自定义映射器,该映射器将获取board,然后您将拥有一个自定义方法,从board轮胎映射到TirePlate

例如:

@Mapper
public interface TireMapper {

    CarDto map(Car car);

    default List<TirePlate> map(List<String> tires, String plate) {
        List<TirePlate> tirePlates = new ArrayList<>(tires.size());

        for(String tire: tires) {
            tirePlates.add(map(tire, plate));
        }
        return tirePlates;
    }

    TirePlate map(String tire, String plate);
}
 类似资料: