package DemoTest01;
import java.util.function.Consumer;
/*
字符串数组中有多条信息,请按照格式:“姓名:XX,年龄:XX"的格式将信息打印出来
要求:
把打印姓名的动作作为第一个Consumer接口的Lambda实例
把打印年龄的动作作为第二个Consumer接口的Lambda实例
将两个Consumer接口按照顺序组合到一起使用
*/
public class ConsumerTest {
public static void main(String[] args) {
String[] strArray = {"猪八戒,30", "唐三藏,35", "孙悟空,33"};
// 调用方法,对数据进行操作,提取出所用的元素
// 打印姓名,使用字符串的split方法分割字符串,获得姓名,观察数据,该字符串,有两部分组成,
// 字符,数字,且同一样,即编号为0是字符,1是数字
consumerprint(strArray, s -> System.out.print("姓名:" + s.split(",")[0]),
s -> System.out.println(",年龄:" + Integer.parseInt(s.split(",")[1])));
// 操作年龄,先对字符串进行分割,使用split方法
// Integer.parseInt提取使用返回用十进制参数表示的整数值,即获取数值
// 打印输出
}
private static void consumerprint(String[] str, Consumer<String> con1, Consumer<String> con2) {
// 遍历数组得到每个参数字符串
for (String s : str) {
con1.andThen(con2).accept(s);
}
}
}