jdk1.8——Lambda表达式

本文深入探讨了Java 8中的Lambda表达式,它简化了函数式编程,使得代码更加简洁。通过实例展示了如何使用Lambda表达式创建线程,对比了与JDK1.8之前匿名类的区别。同时,强调了Lambda表达式对局部变量的限制,以及与外部变量和内部变量的命名规则。了解这些要点,有助于提升Java编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Lambda表达式允许将一个函数当作参数传给方法(可通过函数式接口接收一个Lambda表达式),使代码更简洁;

jdk1.8之前使用匿名类和jdk1.8使用Lambda表达式创建线程的代码比较:

Lambda表达式语法:

  • (params) -> expression
  • (params) -> {statememts;}

表达式说明:

  1. 参数类型可以省略,编译器可以自动识别;
  2. 只有一个参数的时候,括号可以省略;
  3. 主体只有一个语句的时候,花括号可以省略;
  4. 主体只有一个表达式并且不写花括号的时候可以默认自动return,如果加了花括号则需要显式写入return关键字;

几个例子:

 

 

 Lambda表达式注意事项:

  • Lambda表达式引用的外层局部变量必须是final的,没有用final修饰的会自动认为是final变量(外部代码不可以修改变量的值);

  •  Lambda表达式的参数不能跟外边局部变量同名,表达式内部变量也不能跟局部变量同名;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值