//Consumer被称为消费性接口
//void accept(T t) 对给定的参数执行此操作。
//default Consumer<T> andThen(Consumer<? super T> after) 返回一个组成的 Consumer ,依次执行此操作,然后执行 after操作。
import java.util.function.Consumer;
public class consumer {
public static void main(String[] args) {
opString("林青霞",(String s)->{
System.out.println(s);
}, (String s)->{
System.out.println(new StringBuilder(s).reverse().toString());
});
}
private static void opString(String name,Consumer<String> c1){
c1.accept(name);
}
//对一个字符串进行两种消费
private static void opString(String name,Consumer<String> c1,Consumer<String> c2){
c1.andThen(c2).accept(name);
}
}
//按要求打印信息
//要求:姓名,年龄
import java.util.function.Consumer;
public class consumerDemo {
public static void main(String[] args) {
String[] arr={"小明,20","小王,30","小李,25"};
spString(arr,(String str)->{
String name=str.split(",")[0];
System.out.print("姓名:"+name);
},(String str)->{
int age=Integer.parseInt(str.split(",")[1]);
System.out.println(",年龄:"+age);
});
}
private static void spString(String []s, Consumer<String> c1,Consumer<String>c2){
for(String str:s){
c1.andThen(c2).accept(str);
}
}
}