Lamada表达式是Java提供的语法糖的一种。
当我们自定义一个Lamada表达式时,需要理解的东西:
1.自定义Lamdada表达式 需要只有一个未实现方法的接口;
2.我们通过lamada表达式的方式 实现这个接口
3.Java编译器将lambda表达式编译成类的私有方法。使用了Java 7的 invokedynamic 字节码指令来动态绑定这个方法 (此句摘自参考文章)。 因此,我们对于lamada表示式,我们主要关注的就是实现接口中未实现的方法。
对于lamada表达式的处理: 编写模式(args) -> {具体处理实现} 其中,args应与未实现的接口参数列表保持一致,否则编译器会报错提示。 具体处理实现就是基于参数进行处理。
4.lamada表达式使得我们的表达更加清晰易懂,当我们使用不需要复用的功能时,使用lamada表达式能简化我们对功能的调用所要做的事情。
5.为了实现程序的高内聚,lamada通常只实现核心逻辑,对于非核心通用逻辑,我们可以通过接口中的静态方法来处理。
REF:
一文了解:JDK8的Stream流操作以及lambda表达式
https://www.journaldev.com/2389/java-8-features-with-examples#functional-interface-lambdas