Consumer<T>、BiConsumer<T, U> 和 IntConsumer 是 Java 8 中的函数式接口,用于表示不同数量参数的消费者,并且它们之间存在一些区别。
1. Consumer<T>:接受一个参数并不返回任何结果的消费者。它定义了一个名为 accept(T t) 的抽象方法,用于对给定的参数进行处理操作。
- 示例:
Consumer<String> printString = str -> System.out.println(str);
printString.accept("Hello!"); // 输出: Hello!
这个接口适用于对类型为 T 的参数进行处理的场景。
2. BiConsumer<T, U>:接受两个参数并不返回任何结果的消费者。它定义了一个名为 accept(T t, U u) 的抽象方法,用于对给定的两个参数进行处理操作。
- 示例:
BiConsumer<String, Integer> printInfo = (name, age) -> System.out.println(name + " is " + age + " years old.");
printInfo.accept("Alice", 25); // 输出: Alice is 25 years old.
这个接口适用于对两个输入进行处理的场景。
3. IntConsumer:接受一个 int 类型的参数并不返回任何结果的消费者。它定义了一个名为 accept(int value) 的抽象方法,用于对给定的 int 类型参数进行处理操作。
- 示例:
IntConsumer printNumber = num -> System.out.println("The number is: " + num);
printNumber.accept(42); // 输出: The number is: 42
这个接口适用于对 int 类型的参数进行处理的场景。
总结来说,Consumer<T>
是用于接受单个参数并进行处理的消费者,BiConsumer<T, U>
是用于接受两个参数并进行处理的消费者,而 IntConsumer
是用于接受 int 类型的参数并进行处理的消费者。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。