Consumer接口,顾名思义,就是消费掉传入的一个泛型对象,不返回任何值。
可以看到在函数式接口Consumer中,有以下两个方法
- 单一抽象方法
- 用于复合操作的默认方法
常见的就是java.util.Iterable接口的默认方法forEach
我们可以用以下的方式来实现:
- 匿名内部类
- lambda表达式
- 方法引用
还有我么可以用用Consumer的default方法
输出:
对于Consumer接口,有好几个变体IntConsumer,DoubleConsumer,LongConsumer,处理相应类型的参数。
我们可以简单写个方法看看:
当然还有ObjIntConsumer,ObjLongConsumer,ObjDoubleConsumer这样没有默认方法的那种
这种我们可以多带一个参数,
但是在BiConsumer中,却又是存在默认的复合方法的
未完待续!!