首页 > 技术文章 > Lambda表达式的省略模式

pxy-1999 2020-05-15 15:24 原文

接口定义

public interface Addable {
    int add(int x , int y);
}

public interface Flyable {
    void fly(String s);
}
View Code

测试类定义

public class LambdaDemo {
    public static void main(String[] args) {
        //未省略格式
        useFlyable((String s) -> {
            System.out.println(s);
        });
        //省略格式
        useFlyable(s -> System.out.println(s));

        //未省略格式
        useAddable((int x, int y) -> {
            return x + y;
        });
        //省略格式
        //有两个参数 不能省略小括号.
        //有且仅有一条语句,甚至可以省略return
        useAddable((x, y) -> x + y);
    }

    public static void useFlyable(Flyable f) {
        f.fly("君不见黄河之水天上来");
    }

    public static void useAddable(Addable a) {
        int sum = a.add(10, 20);
        System.out.println(sum);
    }
}

运行结果:

推荐阅读