lambda () 的含义 -> { } 在 Java 中
我正在看下面的Stack Overflow答案:如何在运行时更改Spring的@Scheduled修复Delay
在代码中有以下行:
schedulerFuture = taskScheduler.schedule(() -> { }, this);
我想知道 lambda 在该代码中意味着什么。我需要在不使用lambdas的情况下编写它。() -> {}
我正在看下面的Stack Overflow答案:如何在运行时更改Spring的@Scheduled修复Delay
在代码中有以下行:
schedulerFuture = taskScheduler.schedule(() -> { }, this);
我想知道 lambda 在该代码中意味着什么。我需要在不使用lambdas的情况下编写它。() -> {}
它是一个具有空定义的 Runnable
。此的匿名类表示形式为:run
new Runnable() {
@Override public void run() {
// could have done something here
}
}
Lamda 表达式是一个匿名函数,允许您将方法作为参数传递,或者简单地说,这是一种帮助您删除大量样板代码的机制。它们没有访问修饰符(私有、公共或受保护)、无返回类型声明和名称。
让我们看一下这个例子。
(int a, int b) -> {return a > b}
在你的情况下,你可以做如下事情:
schedulerFuture = taskScheduler.schedule(new Runnable() {
@Override
public void run() {
// task details
}
}, this);