一、什么是 Lambda 表达式

Lambda 就是「匿名函数」不用起函数名,一行代码就能写一个方法,专门用来简化代码、配合函数式编程。

格式:

java

运行

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

->箭头符号,读作 goes to


二、最简语法格式

  1. 无参无返回

java

运行

() -> System.out.println("Hello Lambda");
  1. 单个参数(括号可省略)

java

运行

x -> System.out.println(x);
  1. 多个参数

java

运行

(x,y) -> System.out.println(x+y);
  1. 有返回值(单行可省略 return 和大括号)

java

运行

(int x,int y) -> x + y;

三、核心作用

  1. 简化匿名内部类,代码少写一半
  2. 配合集合遍历、排序、过滤超简洁
  3. 支持函数式编程:把函数当参数传
  4. 配合 Stream 流 做数据筛选、排序、聚合

四、前提条件(重点)

Lambda 只能用在函数式接口上:

接口里有且只有一个抽象方法

可以加注解:

java

运行

@FunctionalInterface

五、实战示例(Java)

1. 线程简化

传统写法:

java

运行

new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("执行线程");
    }
}).start();

Lambda 写法:

java

运行

new Thread(() -> System.out.println("执行线程")).start();

2. 集合排序

java

运行

list.sort((a,b) -> a.compareTo(b));

3. Stream 过滤

java

运行

list.stream().filter(s -> s.length()>3).forEach(System.out::println);

六、Lambda 特点总结

  • 匿名函数,没有方法名
  • 代码极简、简洁优雅
  • 依赖函数式接口
  • 适合回调、遍历、排序、Stream 流
  • 是 Java 函数式编程的核心基础
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐