Lambda表达式本质也是一个语法糖 ,由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。
Lambda:允许把函数作为一个方法的参数(函数作为参数传递进去方法中),使用Lambda表达式可以使代码变的更加简洁。
Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。
Lambda的书写格式
标准格式:(参数类型 参数名称)->{代码语句}
省略格式:省略规则
(parameters)->expression
或
(parameters)->{expression;}
Lambda重要特性:
可选参数类型声明:不需要声明参数类型,编译器可以统一识别参数值
可选的参数圆括号类:一个参数无需定义圆括号,但多个参数需要定义圆括号
可选的大括号:如果主体包含了一个语句,就不需要使用大括号
可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定表明表达式返回了一个数值
Lanbda表达式前提:
1、必须有接口,该接口只有一个抽象方法
2、必须具有上下文推断
3、还免去了使用匿名内部类的麻烦
show(new Jumpable() {
@Override
public void jump() {
System.out.println("跨栏");
}
});
Lambda书写方法
show(()->System.out.println("跨栏"));
这只是对Lambda的一个简单的认识,但还是需要加强对Lambda的学习