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

无法从List转换为List

仉臻
2023-03-14

我有一个方法createCompliance响应(),它返回BOLConplationObject对象,在此之前,我将其更改为BOLConplationMono,因为我必须在其中调用另一个反应性服务。但是在这样做之后,我调用该服务的当前服务在第6行和第7行出现错误。

1) Cannot convert from Mono<Object> to Mono<List<BOLCompliance>>
2) Cannot convert from List<Mono<BOLCompliance>> to List<BOLCompliance>
    private Mono<List<BOLCompliance>> getComplienceRouteLink(BOLRouteLink routeLink, BillOfLadingResponse bol) {
        if (null != routeLink.getComplianceIds() && !routeLink.getComplianceIds().isEmpty()) {
            Mono<List<Compliance>> complianceList = Flux
                    .fromIterable(routeLink.getComplianceIds()).flatMap(cmp ->
                            complianceCaller.getComplianceById(cmp)).collectList();
            return complianceList.flatMap(compliancesOld -> {
                List<BOLCompliance> complianceResponses = compliancesOld.parallelStream()
                        .map(compliance -> createComplianceResponse(compliance,bol)
                        ).collect(Collectors.toList());
                return Mono.just(complianceResponses);
            });
        }

我为其更改了退货类型的另一项服务是

private Mono<BOLCompliance> createComplianceResponse(Compliance compliance, BillOfLadingResponse bol);

共有1个答案

宁锐
2023-03-14

请看一下这个,它可能会取代您的代码:

private Flux<BOLCompliance> getComplienceRouteLink(BOLRouteLink routeLink, BillOfLadingResponse bol) {
    return Mono.justOrEmpty(routeLink.getComplianceIds())
        .flatMapMany(Flux::fromIterable)
        .flatMap(id -> complianceCaller.getComplianceById(id))
        .flatMap(compliance -> createComplianceResponse(compliance, bol));
}

而不是返回Mono

 类似资料:
  • 我在我的项目中使用spring webflux与外部API进行通信。在我的项目中,我无法将Flux转换为List。 在尝试对collectList().block()执行同样的操作时,flux的所有元素都被连接到一个字符串中,并存储在List的第0个索引处。如果我返回Flux而不是List,那么它会发送预期的响应。但我需要操作内容并将其作为子对象添加到其他对象中&因此尝试返回列表。 预期结果:[“

  • 到目前为止,我在这里找到了一些答案,但每次都会出现无法从对象转换为字符串的错误,等等。例如,我现在使用了这个想法: 我有以下与我的数据库映射的对象列表:

  • 我在MongoDB中使用Java驱动程序3.0,以便通过Web服务发送JSON。 当我想将文档对象(org.bson.文档)转换为JSON时,我使用,当我想将JSON转换为文档对象时,我使用。 但是,当我处理文档列表时(如JSON中所示:

  • 问题内容: 原始列表将转换为正常。为什么原始列表的列表不能转换为的列表? 背景故事(以减轻xy问题): 我正在使用return的API List 。我碰巧知道它一直都是 。我计划循环并构建自己的循环 ,但是我在尝试编写时试图修复(但不禁止)原始类型编译器警告 ;。 我试过了: 但是这些会导致类型不匹配错误。 有趣的是,这没有给出警告或错误: 问题答案: 首先让我们弄清楚为什么这些实际上是不相关的分

  • 问题内容: 我正在使用Fragments for tablet创建一个应用程序。到目前为止,我已经在左侧创建了一些按钮,并且在单击按钮时出现了碎片。 但是我在MainActivity.java文件中遇到错误“类型不匹配错误:无法从转换为”,这是我无法实现它的主要原因。我已经导入了。 我该如何解决我的问题? 我的MainActivity.java代码 问题答案: 您无需在代码中使用- 详情请参见此处