【问题标题】:MapStruct: how to map list of objects where as source is having only one objectMapStruct:如何映射作为源只有一个对象的对象列表
【发布时间】:2019-12-04 11:54:46
【问题描述】:

MapStruct 的新手,我正在尝试映射目标类中的对象列表,其中源具有包括其他字符串变量在内的各个值。自定义实现也没有运气。任何建议请实施

public class Source {
   String var1;
   String var2;
   String resourceCd1;
   String resourceCd2;
   String resourceCd3;
   String resourceCd4;
   String resourceCd5;
   String resourceDesc1;
   String resourceDesc2;
   String resourceDesc3;
   String resourceDesc4;
   String resourceDesc5;
   String var3;
   String var4;
}

public class Target {
   List<Resource> resources;
}

public class Resource {
   String code;
   String description;
}

期望在 Target 中拥有资源对象列表,包括代码和描述值,如下所示。

List<Resource> resources = new ArrayList<>();

    Resource resource1 = new Resource();
    resource1.code = soruce.resourceCd1;
    resource1.description = soruce.resourceDesc1;
    resources.add(resource1);

    Resource resource2 = new Resource();
    resource2.code = soruce.resourceCd2;
    resource2.description = soruce.resourceDesc2;
    resources.add(resource2);

    Resource resource3 = new Resource();
    resource3.code = soruce.resourceCd3;
    resource3.description = soruce.resourceDesc3;
    resources.add(resource3);


    Resource resource4 = new Resource();
    resource4.code = soruce.resourceCd4;
    resource4.description = soruce.resourceDesc4;
    resources.add(resource4);

    Resource resource5 = new Resource();
    resource5.code = soruce.resourceCd5;
    resource5.description = soruce.resourceDesc5;
    resources.add(resource5);

这里的resourceCd1,..,resourceCd5和resourceDesc1,..,resourceDesc5来自源类

【问题讨论】:

    标签: mapstruct


    【解决方案1】:

    开箱即用的 MapStruct 无法实现。 MapStruct 支持 bean-to-bean、iterable-to-iterable、map-to-map。

    目前正在建设中:bean-to-map .. 准备好后,您可以通过流/收集器将地图转换为列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      相关资源
      最近更新 更多