Java8中的函数式接口java.util.function.Consumer<T>
提供了一个andThen
方法,用于将两个Consumer串联起来执行。
andThen
方法接受一个Consumer作为参数,并返回一个新的Consumer,该新Consumer会先执行当前Consumer的操作,然后再执行传入的Consumer的操作。
下面是一个示例代码:
import java.util.function.Consumer;
public class Main {
public static void main(String[] args) {
Consumer<String> printUpperCase = s -> System.out.println(s.toUpperCase());
Consumer<String> printLowerCase = s -> System.out.println(s.toLowerCase());
Consumer<String> printBoth = printUpperCase.andThen(printLowerCase);
printBoth.accept("Hello World");
}
}
输出结果为:
HELLO WORLD
hello world
在上面的示例中,我们定义了两个Consumer:printUpperCase
和printLowerCase
,分别用于将字符串转换为大写和小写并打印出来。
然后,我们使用andThen
方法将两个Consumer串联起来,创建了一个新的ConsumerprintBoth
。
最后,我们调用printBoth
的accept
方法,并传入字符串"Hello World",它会先将字符串转换为大写并打印,然后再将字符串转换为小写并打印。
这个功能在需要执行多个操作的场景中非常有用,可以简化代码并提高可读性。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云