首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【lambda】lambda语法及使用

【lambda】lambda语法及使用

作者头像
master336
发布2026-06-15 19:09:03
发布2026-06-15 19:09:03
280
举报
目录
  • 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. 无入参,无返回值

代码语言:javascript
复制
  @Test
    public void test1(){
        Runnable runnable = ()->{
            System.out.println(" 我是run方法的实现 ");
        };
    }

2. 有入参,无返回值

代码语言:javascript
复制
 @Test
 public void test2(){
      Consumer<String> consumer = (String str) -> {
          System.out.println(" 传入参数是:" + str);
      };
  }

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

3. 多个入参,且可以返回值

代码语言:javascript
复制
 @Test
 public void test5(){
      Comparator<String> consumer = (String s1,String s2) -> {
          System.out.println(" 传入参数是:" + s1 + "->"+ s2);
          return s1.compareTo(s2);
      };
  }

4. 数据类型可推断,省略数据类型

代码语言:javascript
复制
//[有入参,无返回值]例子可以简写成:
 @Test
 public void test2(){
      Consumer<String> consumer = (str) -> {
          System.out.println(" 传入参数是:" + str);
      };
  }

类型推断示例:

代码语言:javascript
复制
HashMap<String,Object> map = new HashMap<>();
String[] data = {"",""};

5. 单一入参,省略参数列表括号()

代码语言:javascript
复制
// 继续改造上面的例子
@Test
public void test2(){
     Consumer<String> consumer = tr -> {
         System.out.println(" 传入参数是:" + str);
     };
 }

6. lambda方法体仅一条语句,省略return及大括号{}

代码语言:javascript
复制
//[多个入参,且可以返回值] 例子改造
 @Test
  public void test5(){
       Comparator<String> consumer = (s1,s2) ->  s1.compareTo(s2);
   }

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • lambda定义
  • lambda语法结构
    • 语法结构
  • lambda使用
    • 1. 无入参,无返回值
    • 2. 有入参,无返回值
    • 3. 多个入参,且可以返回值
    • 4. 数据类型可推断,省略数据类型
    • 5. 单一入参,省略参数列表括号()
    • 6. lambda方法体仅一条语句,省略return及大括号{}
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档