常用的函数式接口Consumer接口练习:字符串拼接并输出

package com.chunzhi.Test05Consumer;

import java.util.function.Consumer;
/*
    练习:
        字符串数组中存有多条信息,请按照格式“姓名:XX。性别:XX。”的格式将信息打印出来。
        要求将打印姓名的动作作为第一个Consumer接口的Lambda实例,
        将打印性别的动作作为第二个Consumer接口的Lambda实例,
        将两个Consumer接口按照顺序“拼接”到一起
 */
public class Test03 {
    public static void method(String[] arr, Consumer<String> con1, Consumer<String> con2) {
        for (String messages : arr) {
            con1.andThen(con2).accept(messages);
        }
    }
    public static void main(String[] args) {
        // 定义一个字符串类型的数组
        String[] arr = {"迪丽热巴,女", "古力娜扎,女", "玛尔扎哈,男"};
        // 调用method方法,传递一个字符串数组,和两个Lambda表达式
        method(arr, (messages) -> {
            // 消费方式:对message进行切割,获取姓名,按照指定的格式输出
            String name = messages.split(",")[0];
            System.out.print("姓名:" + name);
        }, (messages) -> {
            // 消费方式:对message进行切割,获取性别,按照指定的格式输出
            String sex = messages.split(",")[1];
            System.out.println("。性别:" + sex + "。");
        });
    }
}

 

posted @ 2020-11-29 21:17  春志  阅读(191)  评论(0编辑  收藏  举报