准备
接口
public interface IPhone {
void call(String num);
}
lambda完整写法
IPhone huawei = (String num) -> {
System.out.println("打电话给:" + num);
};
huawei.call("110");
形参类型可省略
编译器可以识别
IPhone huawei = (num) -> {
System.out.println("打电话给:" + num);
};
huawei.call("110");
只有一个参数,可省略 ()
注意: 多个参数必须定义 ()
IPhone huawei = num -> {
System.out.println("打电话给:"+num);
};
huawei.call("110");
方法体只有一行,{}
可省略
IPhone huawei = num -> System.out.println("打电话给:"+num);
huawei.call("110");
return可省略
如果方法体只有一行语句,且需要返回值,则可以省略 return
,同时 {}
也要省略
注意: 有 {}
,则不能省略 return
定义接口
public interface IMath {
//运算。必须只有一个抽象方法,才能用 lambda 表达式
int operation(int a, int b);
}
lambda简化写法
IMath math = (a,b) -> a+b;
int res = math.operation(2,2);
System.out.println(res);