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

MapStruct:如何映射as源只有一个对象的对象列表

公孙向荣
2023-03-14

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

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;
}
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);

共有1个答案

贺运良
2023-03-14

不可能使用开箱即用的MapStruct。MapStruct支持bean到bean、可迭代到可迭代、映射到映射。

目前正在构建:bean-to-map。准备就绪后,可以通过流/收集器将映射转换为列表。

 类似资料: