常用的函数式接口Consumer接口练习字符串拼接输出
题目
下面的字符串数组当中有多条信息,请按照格式"姓名: XX 性别: XX"的格式将信息打印出来,要求将
打印姓名的动作为第一个Consumer接口的Lambda实例,将打印性别的动作作为第二个Consumer接口的
Lambda实例,将两个Consumer接口按照顺序拼接到一起
代码实现:
package com.yang.Test.ConsumerStudy;
import java.util.function.Consumer;
/**
* # 题目
* 下面的字符串数组当中有多条信息,请按照格式"姓名: XX 性别: XX"的格式将信息打印出来,要求将
* 打印姓名的动作为第一个Consumer接口的Lambda实例,将打印性别的动作作为第二个Consumer接口的
* Lambda实例,将两个Consumer接口按照顺序拼接到一起
*/
public class Test {
//定义一个方法,参数传递String类型的数组,和两个Consumer接口
public static void printInfo(String[] array, Consumer<String> con1, Consumer<String> con2) {
//遍历字符串数组获取当中的每一个信息
for (int i = 0; i < array.length; i++) {
//使用andThen方法连接两个Consumer消费字符串
con1.andThen(con2).accept(array[i]);
}
}
public static void main(String[] args) {
//定义一个字符串数组
String[] array = {"迪丽热巴,女","古力娜扎,女","马尔扎哈,男"};
//调用printInfo方法,传递一个字符串数组,和两个Lambda表达式
printInfo(array, message -> {
//消费方式:对message进行切割,获取姓名按照指定的格式输出
String name = message.split(",")[0];
System.out.print("姓名: "+name);
}, message -> {
System.out.print("-");
//消费方式,对message进行分割,获取年龄按照指定的格式输出
String sex = message.split(",")[1];
System.out.println("性别: "+sex);
});
}
}
运行结果:

常用的函数式接口Consumer接口练习字符串拼接输出的更多相关文章
- Java常用函数式接口--Consumer接口andThen()方法使用案例(二)
Java常用函数式接口--Consumer接口使用案例
- Java常用函数式接口--Consumer接口使用案例
第一种方式: 第二种方式:
- 常用的函数式接口_Consumer接口和常用的函数式接口_Consumer接口的默认方法andThen
Consumer接口 java,util.function.Consumer接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定 抽象方法:accept C ...
- 死磕Lambda表达式(四):常用的函数式接口
失去人性,失去很多:失去兽性,失去一切.--<三体> 在Java8支持Lambda表达式以后,为了满足Lambda表达式的一些典型使用场景,JDK为我们提供了大量常用的函数式接口.它们主要 ...
- JAVA 8 函数式接口--Consumer
从JDK8开始java支持函数式编程,JDK也提供了几个常用的函数式接口,这篇主要介绍Consumer接口.文本介绍的顺序依次为: 源码介绍 使用实例 jdk内对Consumer的典型使用 扩展类介绍 ...
- 常用的函数式接口Function接口和常用的函数式接口Function接口默认方法andThen
常用的函数式接口Function接口 package com.yang.Test.FunctionStudy; import java.util.function.Function; /** * ja ...
- 常用的函数式接口_Prodicate接口_默认方法or&negate和常用的函数式接口_Predicate接口练习_集合信息筛选
常用的函数式接口_Prodicate接口_默认方法or&negate OR package com.yang.Test.PredicateStudy; import java.util.fun ...
- 常用的函数式接口_Predicate接口和常用的函数式借楼_Predicate_默认方法and
package com.yang.Test.PredicateStudy; import java.util.function.Predicate; /** * java.util.function. ...
- 常用的函数式接口_Supplier和常用的函数式接口Supplier接口练习_求数组中元素最大值
Supplier接口 package com.yang.Test.SupplierStudy; import java.util.function.Supplier; /** * 常用的函数式接口 * ...
随机推荐
- Linux磁盘和文件系统知识总结
硬盘操作 为什么要给硬盘分区? 如果你需要在一块硬盘上用到多个文件系统,那么你就需要对硬盘进行分区,以便用不同的分区支持不同的文件系统.(但一个硬盘只能有一个分区表!)反过来说,如果你整块硬盘都用同样 ...
- zabbix5.0报错PHP时区未设置(配置参数"date.timezone")
解决办法 : #1.编辑文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,取消注释并设置为所在地时区 vim /etc/opt/rh/rh-php72/php- ...
- 解决 docker 日志占满磁盘导致 docker 服务停止的问题
#进入 root 模式 sudo -i # 查看目录大小 sudo du -h --max-depth=1 # 应该会定位到这个目录 `/var/libs/docker/containers` # 最 ...
- 好客租房19-react组件基础目标
1能够使用函数创建组件 2能够使用class创建组件 3能够给react元素绑定事件 4能够使用state和setstate 5能够处理事件中的this指向问题 6能够使用受控组件处理表单
- Fastflow——基于golang的轻量级工作流框架
Fastflow 是什么?用一句话来定义它:一个 基于golang协程.支持水平扩容的分布式高性能工作流框架. 它具有以下特点: 易用性:工作流模型基于 DAG 来定义,同时还提供开箱即用的 API, ...
- 万字+28张图带你探秘小而美的规则引擎框架LiteFlow
大家好,今天给大家介绍一款轻量.快速.稳定可编排的组件式规则引擎框架LiteFlow. 一.LiteFlow的介绍 LiteFlow官方网站和代码仓库地址 官方网站:https://yomahub.c ...
- Vben Admin 源码学习:项目初始化
0x00 前言 Vue-Vben-Admin 是一个免费开源的中后台模版.使用了最新的vue3,vite2,TypeScript等主流技术开发,开箱即用的中后台前端解决方案考. 本系列本着学习参考的目 ...
- vue跑马灯vue3-marquee
安装vue3-marquee 如果您使用的是 npm: npm install vue3-marquee@latest --save 如果您使用的是yarn: yarn add vue3-marque ...
- 前端3JS1
内容概要 溢出属性 定位属性 z-index JavaScript简介 变量与注释 数据类型 内容详情 溢出属性 # 文本内容超出了标签的最大范围 overflow: hidden; 接隐藏文本内容 ...
- .NET C#基础(6):命名空间 - 有名字的作用域
0. 文章目的 面向C#新学者,介绍命名空间(namespace)的概念以及C#中的命名空间的相关内容. 1. 阅读基础 理解C与C#语言的基础语法. 理解作用域概念. 2. 名称冲突与命 ...