我目前正在学习Java中的Lambda表达式.根据我的理解,它是一个代码块,我们可以传递,以便以后执行.但是当我们想要稍后执行代码时,我无法想到示例.
这有用的各种场景是什么?Lambda Expression和Functional接口之间的联系是什么?
Lambda expression当我们想要稍后执行一次或多次代码块时使用A. 使用它的实际意义是deferred execution以后执行代码的原因有很多,例如:
Lambda表达式和功能接口之间的连接
A Functional interface是一个只有一个abtract方法的接口(尽管它可以有多个默认方法).只要期望Functional Interafce的对象,我们就可以提供lambda表达式.考虑一个我们想要执行n次动作的示例.
execute(n, () -> System.out.println("Java Rocks"));
要接受lambda,方法签名的第二个参数必须是Functional Interface,在上面的例子中我们可以使用例如Runnable.
public static void execute(int n, Runnable action) {
     for(int counter = 0; counter < n; counter ++) {
           action.run();
     }
}
这里需要注意的是Lambda Expression在action.run()被调用时执行.您可以在此处阅读有关Lambda Expression的更多信息.