java8 lambda表达式简化写法

准备

接口

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);

原文出处:https://www.malaoshi.top/show_1IX361WKtvCx.html