Jua*_*uel 9 java lambda types functional-programming java-8
在Java8中,以下lambda的类型是什么?
() -> {}
Run Code Online (Sandbox Code Playgroud)
这是一个不带参数并且不返回任何参数的函数.
换句话说:
public class A {
static void a(){}
static void main(String[] args) {
???? a = A::a
}
}
Run Code Online (Sandbox Code Playgroud)
我应该用什么来代替问号?
在Scala中,这是Function0[Unit]我认为的,但我在Java中找不到任何相似之处.
与Scala不同,Java中的lambdas没有固定类型.相反,它们采用您声明变量的接口类型,只要该接口只定义一个抽象方法,并且该方法与lambda具有相同的签名.
因此,在您的情况下,您需要一个定义不带参数的void方法的接口.Runnable就是一个例子.
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |