好程序员大数据学习路线之大数据自学路线二
lambda表达式
比较lambda表达式和匿名内部类:
lambda表达式就是简单的匿名内部类
匿名内部类可以为任意接口创建实例,不管接口有多少抽象方法;
lambda表达式只能为函数式接口创建实例(即只能有一个抽象方法)
基本语法:
(参数)->表达式、(参数)->{方法体;}
1.形参:形参列表允许省略形参类型,若形参列表中只有一个参数,形参列表的圆括号也可以省略代码
2.箭头:通过英文的划线号和大于符号组成
3.代码块:如果代码块只包含一条语句,lambda表达式允许省略代码块的花括号
4.返回值:lambda代码块只有一条return语句,甚至可以省略return关键字
lambda表达式需要返回值,而它的代码块中仅有一条省略了return的语句,lambda表达式会自动返回这条语句的结果
5.lambda表达式中变量的使用:如果是全局的变量直接用,如果是局部变量会默认在前面添加final
```java
//匿名内部类
InterfaceA a = new InterfaceA() {
public void show() {
System.out.println("匿名内部类的show");
}
};
a.show();
//通过lambda表达式
InterfaceA b = ()->{
System.out.println("lambda表达式的show");
};
b.show();
//简化
InterfaceA b1 = ()->System.out.println("简化的lambda表达式的