Map<Long, Optional<Long>> aMap = new HashMap<>();
此地图包含一些键和可选值。
Optional<List<Long>> valuesList = input.aMap().values().stream()
.collect(Collectors.toList());
以上方式有编译错误。如何正确获取可选列表?
答案 0 :(得分:3)
你错过了返回值,不要忘记Optional<List<Long>>
是一个可选对象,如果存在,可以有1个列表....
您需要List<Optional<Long>>
List<Optional<Long>> valuesList = input.aMap()
.values()
.stream()
.collect(Collectors.toList());
答案 1 :(得分:2)
您甚至不需要stream
,只需将它们收集到List
:
List<Optional<Long>> list = new ArrayList<>(input.aMap().values());