这个问题在这里已经有答案了:
java 8-optional.flatmap和optional.map之间的区别(6个答案)
上个月关门了。
给予 Optional
那是一个 Function<String, Boolean>
,我无法应用此 Function
在外面 Optional
通过Map/平面Map:
Optional<Function<String, Boolean>> optTestFunction = Optional.of(x -> true);
optTestFunction.flatMap(f -> f.apply("Test")).orElse(false);
ide和java编译器都给了我这个错误:
没有类型变量的示例 U
存在是为了 Boolean
符合 Optional<? extends U>
老实说,我不明白为什么它不能这样工作-我有一种感觉,我错过了一些明显的东西,但既然连谷歌都不能帮助我这一个,我希望你能。
1条答案
按热度按时间ymzxtsji1#
使用
.map(..)
而不是flatMap
.一
flatMap
当Map步骤返回可选值时使用。这里不是这样。