我有这样一段代码:
public Map<String, Details> getAllDetails(final String name) {
Optional<List<JobExecution>> allJobExecutionsByName = Optional.ofNullable(jobExecutionDao.getAllJobExecutionsByName(name));
// return allJobExecutionsByName.map(x -> x.stream()
// .map(execution -> Pair.of(getJobParam(execution, "id"), getDetailsFromExecution(execution)))
// .collect(toList()))
// .orElse(emptyList());
}
而不是回来 List<Pair<String, Details>>
,我想回去 Map<String, Details>
我如何转换 Optional<List<JobExecution>>
一张Map的钥匙是 id
价值就是 Detail
反对?
4条答案
按热度按时间pxq42qpu1#
如果列表为空,只需返回空列表并继续流式传输空列表。
oknrviil2#
我经历了这个问题,所以我做了这样的事情:
fhity93d3#
你可以用
Collector.toMap
作为Map收集pbwdgjma4#
现有的答案表明你可以使用
Collectors.toMap
,但另外基于标记,不应使用Optional
在你目前的情况下。