Java8----Lambda表达式
一、Lambda是什么?
Lambda表达式,也可称为闭包。类似于JavaScript中的闭包,它是推动Java8发布的最重要的新特性。
二丶Lambda初识
我们知道,在Java中,接口是不能实例化的,但是接口对象可以指向它的实现类对象。如果接口连实现对象都没有呢?那还可以使用匿名类的方式,如下:
package 数组;
/**
* @Author {高哲浩}
* @Date: 2022/05/08/ 22:04
* @Description
*/
public class LambdaTest {
public static void main(String[] args) {
Demo fly = new Demo() {
@Override
public void demo(String name) {
System.out.println(name+"在吃饭");
}
};
fly.demo("李四");
}
}
interface Demo{
abstract void demo(String name);
}
使用匿名内部的方式,代码量其实并不是非常简洁,而为了使代码更加的简洁,Java引进了Lambda表达式的写法,通过更简单的语法,去实现这样功能,使用Lambda表达式简化的代码如下:
三丶Lambda表达式的用法
代码如下(示例):
package 数组;
/**
* @Author {高哲浩}
* @Date: 2022/05/08/ 22:04
* @Description
*/
public class LambdaTest {
public static void main(String[] args) {
Demo demo = name -> System.out.println(name+"在吃饭");
demo.demo("李四");
}
}
interface Demo{
abstract void demo(String name);
}
通过Lambda表达式完成了同样的效果,但是代码量却精简了,这就是Lambda表达式的魅力。
总结:
Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。