Lambda表达式

一、Lambda表达式

基本语法(参数列表)->{方法体;};多用于函数式接口。

简化方式:  

1.当方法体只有一条时可以省略方法体的花括号省略。

2.可以省略参数类型。

3.当参数列表中只有一个参数时可以省略参数列表的括号。

4.只有返回语句,可以省略return。

二、函数式接口

(1)函数式接口:接口中只能有一个抽象方法,其他的可以有default、static、Object里继承的方法等。

(2)常见内置的函数式接口:

  1. Consumer<T>:消费型接口(void accept(T t))。有参数,无返回值

  2. Supplier<T>:供给型接口(T get())。只有返回值,没有入参

  3. Function<T, R>:函数型接口(R apply(T t))。一个输入参数,一个输出参数,两种类型不可不同、可以一致

  4. Predicate<T>:断言型接口(boolean test(T t))。输入一个参数,输出一个boolean类型得返回值

三、方法引用

使用条件:

1.Lambda方法体中只有一个方法的调用。

2.接口中的方法返回值和Lambda方法体中调用的方法返回值一致,或者接口的返回值是引用的方法的返回值的父类。

3.接口中的方法有返回值引用的方法必须有返回值,接口中的方法没有返回值引用的方法可以有返回值也可以没有返回值。

4.接口中的方法参数和Lambda方法体中调用的方法的方法参数一致,或者接口中的方法参数是Lambda方法体中调用的方法的方法参数的子类。

使用方式:引用操作符是双冒号 "::"。

  1. 对象引用::实例方法名

  2. 类名::静态方法名

  3. 类名::实例方法名

  4. 类名::new (也称为构造方法引用)

  5. 类型[]::new (也称为数组引用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值