我遇到了一些代码,尽管有点阅读,但我仍然难以理解.调用一个方法,该方法接收两个args,其中一个是Runnable.而不是传入一个Runnable对象虽然有一个lambda.
例如:
public class LambdaTest {
private final Lock lock = new ReentrantLock();
@Test
public void createRunnableFromLambda() {
Locker.runLocked(lock, () -> {
System.out.println("hello world");
});
}
public static class Locker {
public static void runLocked(Lock lock, Runnable block) {
lock.lock();
try {
block.run();
} finally {
lock.unlock();
}
}
}
}
所以我的问题是,你能解释一下如何从lambda创建Runnable,还请有人解释语法() - > {}.具体来说,()括号是什么意思?
谢谢.