无法应用可选的< function< string,boolean>>

o2gm4chl  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(319)

这个问题在这里已经有答案了

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> 老实说,我不明白为什么它不能这样工作-我有一种感觉,我错过了一些明显的东西,但既然连谷歌都不能帮助我这一个,我希望你能。

ymzxtsji

ymzxtsji1#

使用 .map(..) 而不是 flatMap .

optTestFunction
    .map(f -> f.apply("Test"))
    .orElse(false);

flatMap 当Map步骤返回可选值时使用。这里不是这样。

相关问题