栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【lambda】lambda语法及使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【lambda】lambda语法及使用

目录

lambda定义lambda语法结构

语法结构 lambda使用

1. 无入参,无返回值2. 有入参,无返回值3. 多个入参,且可以返回值4. 数据类型可推断,省略数据类型5. 单一入参,省略参数列表括号()6. lambda方法体仅一条语句,省略return及大括号{} 附

lambda定义

lambda是一个匿名函数(没有函数名的函数)。
在其他OOF语言中,lambda是一段匿名代码片段,在Java中结合函数式接口的含义,可以理解lambda是一类(对象,OOP思想)可以传递的匿名对象(接口实例),一段可以传递的功能代码。

lambda语法结构 语法结构

形参列表 -> lambda方法体

举例:(a,b) -> Integer.compare(a,b)
形参列表:(a,b) 抽象(接口)方法的形参列表
操作符: : -> 箭头操作符
方法体: Integer.compare(a,b) 抽象方法实现(或接口方法实现)

lambda使用

lambda 在一些情况下可以对参数或者方法体进行省略。

1. 无入参,无返回值
  @Test
    public void test1(){
        Runnable runnable = ()->{
            System.out.println(" 我是run方法的实现 ");
        };
    }
2. 有入参,无返回值
 @Test
 public void test2(){
      Consumer consumer = (String str) -> {
          System.out.println(" 传入参数是:" + str);
      };
  }

多个入参以“,"隔开,如: (String s1,Integer s2)-> {}

3. 多个入参,且可以返回值
 @Test
 public void test5(){
      Comparator consumer = (String s1,String s2) -> {
          System.out.println(" 传入参数是:" + s1 + "->"+ s2);
          return s1.compareTo(s2);
      };
  }
4. 数据类型可推断,省略数据类型
//[有入参,无返回值]例子可以简写成:
 @Test
 public void test2(){
      Consumer consumer = (str) -> {
          System.out.println(" 传入参数是:" + str);
      };
  }

类型推断示例:

HashMap map = new HashMap<>();
String[] data = {"",""};
5. 单一入参,省略参数列表括号()
// 继续改造上面的例子
@Test
public void test2(){
     Consumer consumer = tr -> {
         System.out.println(" 传入参数是:" + str);
     };
 }
6. lambda方法体仅一条语句,省略return及大括号{}
//[多个入参,且可以返回值] 例子改造
 @Test
  public void test5(){
       Comparator consumer = (s1,s2) ->  s1.compareTo(s2);
   }

lambda使用之函数式接口
lambda语法及使用
java中的引用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750539.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号