Java练习>Consumer接口>>格式化打印“姓名:xx,性别:xx。”

本文通过一个实战案例,展示了如何利用Java的Consumer接口进行格式化的字符串输出,详细介绍了操作过程及运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

案例:

package JDK8.Xin;

import java.util.function.Consumer;

/*
    练习:
    字符串数组中存有多条信息,请按照格式"姓名:xx,性别:xx。"的格式将信息打印出来。
    要求将打印姓名的动作作为第一个Consumer接口的Lambda实例,
    将打印性别的动作作为第二个Consumer接口的Lambda实,
    将两个Consumer接口按照顺序"拼接"到一起。
 */
public class Demo03Consumer {
    //定义一个方法,参数传递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,(message1)->{
            //消费方式:对message进行切割,获取姓名,按照指定的格式输出
            String name = message1.split(",")[0];
            System.out.print("姓名:" + name + ",");
        },(message2)->{
            //消费方式:对message进行切割,获取性别,按照指定的格式输出
            String gender = message2.split(",")[1];
            System.out.println("性别:" + gender + "。");
        });
    }
}

运行结果:

姓名:张三,性别:男。
姓名:李四,性别:女。
姓名:王五,性别:女。
姓名:麻六,性别:男。
姓名:幺鸡,性别:女。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值