1 Consumer
@FunctionalInterface
public interface Consumer<T> {
/**
* Performs this operation on the given argument.
*
* @param t the input argument
*/
void accept(T t);
- 接受一个T,无返回值,内部就是消费这个T来实现一些逻辑
比如简单的接受一个字符串T,实现控制台输出这个字符串
/**
* @Description Consumer 入门
* @Author wyaoyao
* @Date 2020/8/24 8:52 下午
* @Param
* @Return
* @Exception
*/
@Test
public void testConsumer() {
Consumer<String> consumer = a->System.out.println(a);
consumer.accept("Hello World");
}
public void consumerApple(List<Apple> apples, Consumer<Apple> consumer) {
for (Apple apple : apples) {
consumer.accept(apple);
}
}
@Test
public void testConsumerApple(){
List<Apple> apples = Arrays.asList(new Apple(ColorConstants.GREEN, 150), new Apple(ColorConstants.RED, 120));
consumerApple(apples,apple -> System.out.println("current apple color is " + apple.getColor()));
}
2 BiConsumer
- 接受两个参数
@FunctionalInterface
public interface BiConsumer<T, U> {
/**
* Performs this operation on the given arguments.
*
* @param t the first input argument
* @param u the second input argument
*/
void accept(T t, U u);
@Test
public void testBiConsumer() {
BiConsumer<String,String> consumer = (s1,s2) -> System.out.println(s1 + " " +s2);
consumer.accept("Hello","Java");
}
Java Consumer与BiConsumer接口详解

本文深入解析了Java中Consumer和BiConsumer接口的功能与应用。Consumer接口用于消费单个类型参数并执行特定操作,而BiConsumer接口则用于消费两个不同类型的参数。通过示例演示了如何使用这些接口进行字符串输出和苹果列表的颜色打印,以及如何组合两个字符串。
4453

被折叠的 条评论
为什么被折叠?



