Lambda
表达式
- 使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。
- 方法的参数或局部变量类型必须为
Lambda
对应的接口类型,才能使用Lambda
作为该接口的实例。 Lambda
表达式简化了匿名内部类的书写,使代码更加简洁、清晰
Lambda
表达式的标准格式
(参数类型 参数名称)->{代码语句}
接口
public interface Calculator {
int sum(int a,int b);
}
public static void main(String[] args) {
calImpl(10,20,(int a,int b)-> {
return a+b;
});
}
public static void calImpl(int a,int b, Calculator c){
int result = c.sum(a,b);
System.out.println("计算结果:" + result);
}
Lambda省略格式
省略规则:
- 小括号内参数的类型可以省略;
- 如果小括号内有且仅有一个参,则小括号可以省略;
- 如果大括号内有且仅有一个语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号。
对上述例子修改
原Lambda表达式
calImpl(10,20,(int a,int b)-> {
return a+b;
});
省略后的Lambda表达式
calImpl(10,20,(a,b)->a+b);