当您编写匿名Runnable 时,例如:
Thread producer = new Thread(new Runnable() {
@Override
public void run() {
// do something
}
});
IntelliJ 建议用以下 lambda 替换它:
Thread producer = new Thread(() -> {
// do something
}
});
效果一样好。
这是如何工作的?特别是:
使用的构造函数仍然是Thread(Runnable target),但 lambda 中似乎没有任何内容表明它是一个 Runnable。
为什么@Override public void run()突然不再需要了?
ibeautiful
相关分类