常用的函数式接口_Consumer接口的默认方法andThen和常用的函数式接口_Consumer接口练习_子符串拼接输出
常用的函数式接口_Consumer接口的默认方法andThen:
Consumer接口的默认方法andThen
作用:需要两个Consumer接口,可以把两个Consumer接口组合到一起,在对数据进行消费
例如:
Consumer<String> con1
Consumer<String> con2
String s = "Hello";
con1.accept(s);
con2.accept(s);
连接两个Consumer接口 再进行消费
con1.andThen(con2).accept(s); 谁写前边谁先消费
public static void method(String s, Consumer<String> con1,Consumer<String> con2){ //con1.accept(s) //con2.accept(s) //使用andThen方法,把两个Consumer接口连到一起,在消费数据 con1.andThen(con2).accept(s);//con1连接con2,先执行con1消费数据,在执行con2消费数据 } public static void main(String[] args) { //调用method方法,传递一个字符串,两个Lambda表达式 method("Hello", (t)->{ //消费方式:把字符串转换为大写输出 System.out.println(t.toUpperCase()); }, (t)->{ //消费方式:把字符串转换为小写输出 System.out.println(t.toLowerCase()); });
常用的函数式接口_Consumer接口练习_子符串拼接输出:
练习:字符串数组当中存有多条信息,请按照格式“姓名”:XX。的格式将信息打印出来
要求将打印姓名的动作作为一个Consumer接口的Lambda实例,
将打印性别的动作作为第二个Consumer接口的Lambda实例,
将两个Consumer接口按照顺序拼接到一起
//定义一个方法,参数传递String类型的数组和两个Consumer接口,泛型使用String public static void printInfo(String[] arr, Consumer<String> con1,Consumer<String> con2){ //遍历字符串数组 for (String message : arr){ //使用andThen方法连接两个Consumer接口,消费字符串 con1.andThen(con2).accept(message); } public static void main(String[] args) { //定义一个字符串类型的数组 String[] arr = {"摩斯,男","死神,男","神伤,女"}; //调用printInfo方法,传递一个字符串数组,和两个Lambda表达式 printInfo(arr,(message)->{ //消费方式:对message进行切割,获取姓名,按照指定的格式输出 String name = message.split(",")[0]; System.out.println("姓名:"+name); },(message)->{ //消费方式:对message进行切割,获取年龄,按照指定的格式输出 String age = message.split(",")[1]; System.out.println("。年龄:"+age+"。"); });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix