一、目的
因为代码中用到了Consumer ,所以特地来梳理其对应的用法以及总结。
二、介绍
Consumer 是一个函数式接口,它位于java.util.function 包中,它定义了一个名为accept 的抽象方法,该方法接受一个参数并且不返回任何结果。
三、代码实现
@Test
public void testConsumer() {
Consumer<String> consumerFunction= aimString -> System.out.println(aimString);
consumerFunction.accept("123");
}
上面的代码就是定义了一个Consumer 函数对象,其对应的逻辑是将参数打印出来。
同时Consumer 还可以使用组合技能,andThen、andCompose 这种的。
@Test
public void testConsumer() {
Consumer<String> consumerFunction= aimString -> System.out.println(aimString);
Consumer<String> consumerFunctionSecond = aimString -> System.out.println(aimString.toLowerCase());
consumerFunction.andThen(consumerFunctionSecond).accept("Hello");
}
输出结果
同时在stream中 foreach 也是这种结构
四、总结
Consumer 就等价于Function 只不过它将apply 换成了accept ,并且Consumer 不会返回任何结果。