深入学习java源码之Consumer.andThen()与Predicate.test()
Consumer消费数据函数式接口
这个方法是用来消费数据的,如何消费,消费规则自己定义.
import java.util.function.Consumer;
/**
* 使用Consumer函数式接口实现格式化输出
*/
public class ConsumerDemo2 {
public static void printInfo(String[] strArr, Consumer con1, Consumer con2){
for (int i = 0; i < strArr.length; i++) {
con1.andThen(con2).accept(strArr[i]);
}
}
public static void main(String[] args) {
String[] strArr = {"迪丽热巴,女","郑爽,女","杨紫,女"};
printInfo(strArr,(message)->{
System.out.print("姓名:" + message.split(",")[0] + "。 ");
},(message)->{
System.out.println("性别:" + message.split(",")[1] + "。");
});
}
}
Consumer
提供一个T类型的输入参数,不返回执行结果
accept(T t)
StringBuilder sb = new StringBuilder("Hello ");
Consumer consumer = (str) -> str.append("Jack!");
consumer.accept(sb);
System.out.println(sb.toString()); // Hello Jack!
andThen(Consumer
关注
打赏