Lambda表达式详解

文章目录

  • 问题:
  • 解决问题:
  • 语法:
    • 0.总结
    • 1.无参数,无返回值
    • 2.有参数,无返回值
    • 3.多个参数有返回值
  • 注意事项
    • 1.只能用于实现只有一个抽象抽象方法的接口(函数式接口)
    • 2.不能实例化变量
    • 3.lamba表达式中的this指针指向外部类

问题:

刷面经,博客输出,加深理解,2025.3.3 希望毕业前可以找到工作。

解决问题:

Lambda表示是主要是为了解决匿名内部类的问题,可以简化代码,主要用途就是代替匿名内部类。

语法:

0.总结

  • ()-> {expression}
  • 参数列表: 有参数或多个参数
  • -> 分隔参数和函数体
  • 函数体:可以是单行表达式或者代码块

1.无参数,无返回值

Runnable r = () -> System.out.println("Hello, World!");
r.run(); // 输出 Hello, World!

2.有参数,无返回值

Consumer<String> greet = name -> System.out.println("Hello, " + name);
greet.accept("Alice"); // 输出 Hello, Alice

3.多个参数有返回值

BinaryOperator<Integer> add = (a, b) -> a + b;
System.out.println(add.apply(3, 5)); // 输出 8

注意事项

1.只能用于实现只有一个抽象抽象方法的接口(函数式接口)

  • 函数式接口定义:只能有一个抽象方法的接口。
  • Lambda表达是属于函数式接口。

2.不能实例化变量

  • lamba表达式本身是一个匿名函数,没有像类一样的状态,所以不可以。

3.lamba表达式中的this指针指向外部类

  • lambda本身是一个函数,没有自己的实例,所以不会指向自己。

你可能感兴趣的:(java,lambda)