> 技术文档 > Consumer<T>

Consumer<T>

以Consumer consumer为例,在 Java 中,Consumer consumer 是一个函数式接口(Functional Interface)的引用,它表示一个“接收一个 Integer 类型的参数,但不返回任何结果”的操作。


一、Consumer 是什么?

Consumer 是 Java 8 引入的一个函数式接口,位于 java.util.function 包中。

定义:

@FunctionalInterfacepublic interface Consumer<T> { void accept(T t);}

二、Consumer 具体含义

当你写:

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)
  • Stream.peek(Consumer)
  • 自定义回调逻辑

五、总结一句话

Consumer 是一个“只吃不吐”的黑盒子:它只接收一个 Integer,不返回结果,通常用于执行副作用操作(如打印、修改状态等)。

如果你想“接收一个值并返回结果”,那就需要用 Function