gpt4 book ai didi

java.util.function.BiConsumer) 不适用(无法推断类型变量 R

转载 作者:行者123 更新时间:2023-11-30 07:49:10 25 4
gpt4 key购买 nike

我尝试编写一些流代码,将 report 对象减少为一个 report 对象。

我有这个java代码获取字符串(请求)获取 http 响应 --> 将其传递给内存中保存的旧响应进行比较。

我想将 n 个比较结果收集到 Result 对象中

最终我想将 m 个 report 对象聚合为一个对象。

我有这个代码

请求的类型为字符串

报告类型的 sumReport

compare2 类型比较结果

和:

        Report report = requestsList
.parallelStream()
.map(request ->
getResponse(request, e2EResultLongBL, e2EResultLongFresh)
)
.map(response -> compareToBl(response, e2EResultLongBL))
.collect(null,
(sumReport, compare2) ->
{
if (sumReport == null)
{
sumReport = new Report();
}
sumReport.add(compare2);
return sumReport;
},
(report1, report2) ->
{
Report report3 = new Report();
report3.add(report2);
return report3;
});

为什么我会收到此错误?

Error:(174, 21) java: no suitable method found for collect(<nulltype>,(sumReport[...]rt; },(report1,r[...]t3; })
method java.util.stream.Stream.<R>collect(java.util.function.Supplier<R>,java.util.function.BiConsumer<R,? super com.waze.routing.automation.dataModel.ComparisonResult>,java.util.function.BiConsumer<R,R>) is not applicable
(cannot infer type-variable(s) R
(argument mismatch; unexpected return value))
method java.util.stream.Stream.<R,A>collect(java.util.stream.Collector<? super com.waze.routing.automation.dataModel.ComparisonResult,A,R>) is not applicable
(cannot infer type-variable(s) R,A
(actual and formal argument lists differ in length))

最佳答案

最好的猜测 - 您没有提供太多细节 - 我希望您需要的只是 collect(Report::new, Report::add, Report::add),或多或少说:为累加器创建新的报表,调用 Report.add 将元素添加到 Report,并调用 Report.add (可能是不同的重载)将第二个 Report 合并到第一个 Report 中)。

关于java.util.function.BiConsumer<R,R>) 不适用(无法推断类型变量 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33508576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com