7.23Java之Lambda表达式之省略形式

7.23Java之Lambda表达式之省略形式

Lambda表达式

特点:

  • 可推到的,可省略

  • 凡是可以根据上下文推导出来的内容都可以省略书写

可以省略的内容:

  1. (参数列表):括号中参数列表的数据类型可以省略不写

  2. (参数列表):括号中的参数如果只有一个那么类型和括号都可以省略

  3. {一些代码}:如果{}中代码只有一行,无论是否有返回值,那么都可以省略('{},return,;')

    1. 要省略"{},return,;"必须一起省略

实例
        //使用Lambda表达式简化匿名内部类的书写写法
       invokeCalc(120, 130, (int a, int b) -> {
           return a + b;
      });

       invokeCalc(120, 130, (a, b) -> a+b);

       //使用Lambda表达式简化匿名内部类
       Arrays.sort(arr, (Person o1, Person o2) -> {
           return o1.getAge() - o2.getAge();
      });

       Arrays.sort(arr, (o1, o2) -> o1.getAge() - o2.getAge());

使用Lambda表达式的几个注意事项

  • Lambda必须具有接口,要求接口中有且仅有一个抽象方法

  • 方法的参数或局部变量类型必须为Lambda对于的接口类型,才能使用Lambda作为该接口的实例。

有且仅有一个抽象方法的接口称为函数式接口

It's a lonely road!!!
原文地址:https://www.cnblogs.com/JunkingBoy/p/15050226.html