「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战」
Lambda 表达式
Lambda概述: Lambda表达式是JDK8 开始后的一种新语法形式。 作用:简化匿名内部类的代码写法。
public class LambdaDemo2 {
public static void main(String[] args) {
Swimming s = new Swimming() {
@Override
public void swim() {
System.out.println("老师游泳");
}
};
go(s);
Swimming s1 = ()->{
System.out.println("老师游泳");
};
go(s1);
// 继续简化
go(()->{
System.out.println("老师游泳");
});
}
public static void go(Swimming s){
System.out.println("开始");
s.swim();
System.out.println("结束");
}
}
@FunctionalInterface // 一旦加上这个注释,就可表明是函数式接口
interface Swimming{
void swim();
}
总结: 1.Lambda表达式的基本作用? 简化函数式接口的匿名内部类的写法。 2.Lambda表达式有什么使用前提? 必须是接口的匿名内部类,接口中只能有一个抽象方法。 3.Lambda的好处? Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,它可以写出更简洁、更灵活的代码,作为一种更紧凑的代码风格,是Java语言表达能力得到了提升。
Lambda表达式简化Comparator接口的匿名形式
Lambda表达式简化按钮监听器 ActionListener的匿名内部类形式
Lambda表达式的省略写法(进一步在Lambda表达式的基础上继续简化)
参数类型可以省略不写。 如果只有一个参数,参数类型可以省略,同时()也可以省略。 如果Lambda表达式的方法体代码只有一行代码,可以省略大括号不写,同时要省略分号! 如果Lambda表达式的方法体代码只有一行代码。可以省略大括号不写,此时,如果这行代码是return语句, 必须省略return不写,同时也必须省略”;“不写。