02-Lambda表达式的语法

本文demo

GitHub:https://github.com/Shiorys/java8.git

码云:https://gitee.com/Shiory-zzb/java8

1、使用前提

JDK版本:1.8

Lambda表达式需要“函数式接口”的支持

函数式接口:接口中只有一个抽象方法的接口,称为函数式接口。可以使用注解@FunctionalInterface 修饰,可以检查是不是函数式接口。

2、语法

Lambda的语法包括三个部分

  1. 参数列表:(参数列表)---在左侧,Lambda表达式的参数列表
  2. 箭头符号:"->"---也称Lambda操作符
  3. 代码块:{语句体}---在右侧,Lambda 体,要执行的功能

2.1、完整语法格式

(参数列表)->{语句体}

2.2、衍生语法格式

语法格式1:无参数,无返回值,代码块只有一条语句

() -> 语句;

语法格式2:有一个参数,无返回值,代码块只有一条语句

(x) -> 语句;    //语句中如果需要使用参数x,直接使用x即可

语法格式3:语法格式2中,如果只有一个参数,小括号可以省略不写

x -> 语句; 

语法格式4:有两个以上的参数,有返回值,并且代码块有多条语句

(x,y,...) -> {语句体;return 返回值};

语法格式5:有两个以上的参数,有返回值,并且代码块只有一条语句,return和{}都可以省略不写

(x,y,...) -> 语句;

语法格式6:参数列表的数据类型可以省略不写,因为JVM编译器通过上下文推断出数据类型,即"类型推断"

(数据类型1 x, 数据类型2 y,...) -> {语句体};

可以写成

(x,y,...) -> {语句体};

扩展:类型推断,如
            List<String> list = new ArrayList<>();    //尖括号中就不用再写String


简单记:左右遇一括号省、左侧推断类型省、能省则省

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值