【发布时间】:2020-10-13 09:44:43
【问题描述】:
something().orElseGet(() -> (a, b, c) -> {})
// ^----this part------^
其中(a, b, c) 是一个带有a、b 和c 参数的方法。例如:Method(a, b, c) 返回一些东西。
我的问题是在实践中这个功能性接口部分是什么,对我来说这很令人困惑。
【问题讨论】:
-
看起来像一个函数返回一个函数。
-
不带参数的函数返回具有三个参数的函数,该函数执行某些操作,但不返回任何内容。
-
这是一个返回 lambda 的 lambda;你可以用
{}和return重写它,以便现在看得更清楚。 -
我认为您现在不需要了解
.orElseGet(..);特别返回的内容,因为您对函数式接口、lambda、方法引用等感到困惑。最好先学习这些概念。然后你可以查看 API 文档,看看什么返回什么。
标签: java java-8 functional-interface