Consumer接口

Consumer接口,顾名思义,就是消费掉传入的一个泛型对象,不返回任何值。

1cc93103728284bbb4337062ef57c1d8088.jpg

可以看到在函数式接口Consumer中,有以下两个方法

  1. 单一抽象方法
  2. 用于复合操作的默认方法

常见的就是java.util.Iterable接口的默认方法forEach

8014e1e25a5fb963a885f9cfe2e7d1828f5.jpg

我们可以用以下的方式来实现:

  • 匿名内部类
  • lambda表达式
  • 方法引用

9f82086daa535e0d42aefc32fe44ece0506.jpg

还有我么可以用用Consumer的default方法

cfab3a3881c7d52e4a72c0d5707d8bbe2de.jpg

输出:

d637a8c0b4690a57a9a60876ddfc56676dd.jpg

 

对于Consumer接口,有好几个变体IntConsumer,DoubleConsumer,LongConsumer,处理相应类型的参数。

f84592c3219d6aa38053c0c236048581eb6.jpg

我们可以简单写个方法看看:

f8b417acb0ddbdc6ef94e5e5772f73f1f4a.jpg

当然还有ObjIntConsumer,ObjLongConsumer,ObjDoubleConsumer这样没有默认方法的那种

3dbda201052555bf18eef76887913626a96.jpg

这种我们可以多带一个参数,

1e52dd3b18d7259bef2e2a4ef20376a0be7.jpg

但是在BiConsumer中,却又是存在默认的复合方法的

518cf7c5ab87697cb6d8bc14d605ca06d8d.jpg

未完待续!!

 

 

转载于:https://my.oschina.net/u/2277632/blog/2985279

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值