Consumer<T>
以Consumer consumer为例,在 Java 中,Consumer<Integer> consumer
是一个函数式接口(Functional Interface)的引用,它表示一个“接收一个 Integer
类型的参数,但不返回任何结果”的操作。
一、Consumer<T>
是什么?
Consumer<T>
是 Java 8 引入的一个函数式接口,位于 java.util.function
包中。
定义:
@FunctionalInterface
public interface Consumer<T> {void accept(T t);
}
二、Consumer<Integer>
具体含义
当你写:
Consumer<Integer> consumer;
你就声明了一个变量 consumer
,它可以“消费”一个 Integer
类型的值,比如打印它、修改它、或者基于它做一些副作用操作(但不返回值)。
三、使用示例
✅ 示例 1:打印整数
Consumer<Integer> consumer = number -> System.out.println("Number is: " + number);
consumer.accept(42); // 输出:Number is: 42
✅ 示例 2:将整数平方并打印
Consumer<Integer> consumer = n -> System.out.println(n * n);
consumer.accept(5); // 输出:25
四、常见用途
List.forEach(Consumer<T>)
Stream.peek(Consumer<T>)
- 自定义回调逻辑
五、总结一句话
Consumer<Integer>
是一个“只吃不吐”的黑盒子:它只接收一个Integer
,不返回结果,通常用于执行副作用操作(如打印、修改状态等)。
如果你想“接收一个值并返回结果”,那就需要用 Function<T, R>
。