我有以下与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))