Java8 Lamdba表达式缩写介绍

上一篇我写了一个Lamdba表达式的经典例子,但是实际工作中,很多人喜欢写各种缩写,导致有的伙伴看不懂。这篇主要写下,Lamdba表达式的缩写:

首先我们常见的Lamdba表达式的结构如下:

( 参数列表 ) -> { 方法体 }

那么可以省略的场景总结如下:

①参数列表有且只有一个参数,则可以省略小括号

②参数列表的数据类型可以省略,随时都可以省略

③当方法体有且只有一条语句的时候,可以省略大括号,如果省略了大括号,则return语句后分号也需要省略。

下面针对上面的三个场景给一个例子:

@FunctionalInterface
interface B {
   public abstract void test(int b);
}

public class LamdbaLearn04 {
    public static void main(String[] args) {
        testB((int x)->{
            System.out.println("第一种省略场景");
        });

        //参数列表有且只有一个参数,则可以省略小括号(所以去掉了int x的小括号)
        //参数列表的数据类型可以省略,随时都可以省略(所以去掉了 int 类型)
        //当方法体有且只有一条语句的时候,可以省略大括号,如果省略了大括号,则return语句后分号也需要省略。
        testB(x-> System.out.println("第一种省略场景"));

    }

    public static void testB(B b){

    }
}

所以最终,我们将

        testB((int x)->{
            System.out.println("第一种省略场景");
        });

优化成了:

 testB(x-> System.out.println("第一种省略场景"));

猜你喜欢

转载自blog.csdn.net/LB_Captain/article/details/121453339