1. 程式人生 > >java 8之Lambda 五種語法格式

java 8之Lambda 五種語法格式

語法格式一:無參、無返回值,lambda體只需一條語句

Runnable r1 =() -> System.out.print("hello");

以往程式碼如下:

Runnable runnable = new Runnable() {
    @Override
    public void run() {
        System.out.print("hello");
    }
};

語法格式二:Lambda 需要一個引數

Consumer<String> stringConsumer =(a) -> System.out.print(a);

以往程式碼如下:

Consumer<String> stringConsumer1 = new Consumer<String>() {

    @Override
    public void accept(String ss) {
        System.out.print(ss);
    }
};

語法格式三:Lambda 只需要一個引數時,引數的小括號可以省略

Consumer<String> stringConsumer =a -> System.out.print(a);

語法格式四:Lambda 需要兩個引數,並且有返回值

BinaryOperator<Long> operators = (a,b) ->{     System.out.println("實現函式介面方法");     return a+b; };

以往程式碼如下:

BinaryOperator<Long> operator =new BinaryOperator<Long>() {
    @Override
    public Long apply(Long a, Long b) {
        System.out.println("實現函式介面方法");
        return a+b;
    }
};

語法格式五:當 Lambda 體只有一條語句時,return 與大括號可以省略

BinaryOperator<Long> operators = (a,b) -> a+b;