关于java:Java-8函数式接口之ConsumerT和BiConsumerT-U的区别

11次阅读

共计 652 个字符,预计需要花费 2 分钟才能阅读完成。

Consumer<T> 和 BiConsumer<T, U> 是 Java 8 中的函数式接口,用于示意消费者操作(Consumer),即承受一些输出并对其执行特定操作的函数接口。它们之间的区别在于承受的参数个数。


1. Consumer<T>:承受一个参数并执行操作的消费者。它定义了一个名为 accept(T t) 的形象办法,用于承受一个参数并对其进行操作。通常用于须要对单个输出进行解决的场景。例如:

Consumer<String> printUpperCase = str -> System.out.println(str.toUpperCase());

printUpperCase.accept("hello");  // 输入: HELLO

2. BiConsumer<T, U>:承受两个参数并执行操作的消费者。它定义了一个名为 accept(T t, U u) 的形象办法,用于承受两个参数并对它们进行操作。通常用于须要对两个输出进行解决的场景。例如:

BiConsumer<String, Integer> printLength = (str, num) -> System.out.println(str + "的长度是" + num);

printLength.accept("hello", 5);  // 输入: hello 的长度是 5

总结来说,Consumer<T> 是一个接管单个参数并执行操作的消费者,而 BiConsumer<T, U> 是一个接管两个参数并执行操作的消费者。它们都被宽泛用于函数式编程和汇合操作中,能够对元素或对象进行各种操作,如打印、转换、批改等。

正文完
 0