我有以下服务可以与 Java8
List<ReportCount> getReportDetails(List<String> statusList);
statusList.add(Arrays.asList("SUCCESS"));
statusList.add(Arrays.asList("CANCELLED"));
statusList.add(Arrays.asList("ON_HOLD","INPROGRESS"));
statusList.stream()
.map(reportService::getReportDetails)
.forEach(e -> reportMap.put("report_" + reportMap.size(), e));
如何使用上面的代码为下面的方法再传递 1 个参数。
String id="CA";
List<ReportCount> getReportDetails(List<String> statusList, String id);
谁能帮忙。谢谢
最佳答案
从不使用原始类型开始:
List<ReportCount> getReportDetails(List<String> statusList, String id);
然后使用 lambda 表达式:
List<List<String>> listOfStatusList = new ArrayList<>();
listOfStatusList.add(Arrays.asList("SUCCESS"));
listOfStatusList.add(Arrays.asList("CANCELLED"));
listOfStatusList.add(Arrays.asList("ON_HOLD","INPROGRESS"));
String someId = ...;
listOfStatusList.stream()
.map(statusList -> reportService.getReportDetails(statusList, someId))
关于java - 使用 java8 stream().map 传递两个参数来调用服务方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48335816/