一、Lambda是什么?
Lambda表达式是JDK 8开始新增的一种语法形式,其作用为简化匿名内部类的代码写法,使用Lambda可以使代码更加简洁
格式:
(被重写方法的形参)->{
被写方法的方法体代码
}
二、使用步骤
原来我们会使用匿名内部类来实现接口,例如这样
public class test {
public static void main(String[] args) {
Animal a = new Animal() {
@Override
public void run() {
System.out.println(“小狗跑得快”);
}
};
a.run();
}
}
abstract class Animal{
public abstract void run();
}
但是使用Lambda会简便许多:
public class test {
public static void main(String[] args) {
run r = ()->{
System.out.println(“小狗跑得快”);
};
r.run();
interface run{
void run();
}
这样就实现了匿名内部类的简化
注意事项
1.Lambda表达式只能简化函数式接口的匿名内部类,函数式接口就是在⼀个接口中,要求实现类必须实现的抽象方法,有!而且只!有!⼀!个!这样的接口,就是函数式接口。
2.别忘了大括号后的分号
3.将来我们见到的大部分函数式接口,上面都可能会有一个@FunctionalInterface的注解,有这样注解的一定就是函数式接口啦~
总结
1.Lambda表达式的作用是啥:
**简化代码:**Lambda表达式可以让你用更简洁的方式编写代码,避免了使用匿名内部类时的冗长的语法。
**函数式编程:**Lambda表达式使Java具备了函数式编程的能力,可以更方便地使用函数式接口,并进行函数式编程的思想。
**增强API:**Java 8引入了大量新的API,这些API广泛使用了Lambda表达式,使得API更加灵活和易于使用。
**并行处理:**Lambda表达式与Stream API一起使用,可以方便地实现并行处理,充分利用多核处理器的性能。
2.什么是函数式接口
在Java中,函数式接口(Functional Interface)是指仅仅包含一个抽象方法的接口。这种接口设计用于支持函数式编程风格,其中函数可以作为参数传递给方法,或者作为返回值从方法返回。