Lambda表达式详解

问题:

刷面经,博客输出,加深理解,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本身是一个函数,没有自己的实例,所以不会指向自己。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值