1.什么是Lambda表达式?
Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。
使用 Lambda 表达式可以使代码变的更加简洁紧凑。
2.使用Lambda的限制条件
Lambda并不是任何地方都可以使用,Lambda表达式需要“函数式接口”的支持。
3.什么是函数式接口?
接口中只有一个抽象方法的接口,称为函数式接口,可以用@FunctionalInterface修饰一下,这里需要注意的是:未使用 @FunctionalInterfaces注解的接口未必就不是函数式接口,一个接口是不是函数式接口的条件只有一条,即接口中只有一个抽象方法的接口(Object类中的方法不算)。而使用@FunctionalInterface注解修饰了的接口就一定是函数式接口,添加@FunctionalInterface注解可以帮助我们检查是否是函数式接口。
函数式接口(Functional Interface)是java8新增的特性,它是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为lambda表达式。
JDK中常见的函数式接口有:
package java.lang; @FunctionalInterface public interface Runnable { void run(); }
package java.util.concurrent; @FunctionalInterface public interface Callable<V> { V call() throws Exception; }
4.lambda表达式基础语法
java中,引入了一个新的操作符“->”,该操作符在很多资料中,称为箭头操作符,或者lambda操作符;箭头操作符将lambda分成了两个部分:
左侧:lambda表达式的参数列表
右侧:lambda表达式中所需要执行的功能,即lambda函数体
4.1 语法格式一:无参数,无返回值
参考文献:https://www.jianshu.com/p/8d7f98116693
https://www.cnblogs.com/wuhenzhidu/p/lambda.html