常用的函数式接口_Consumer接口和常用的函数式接口_Consumer接口的默认方法andThen
Consumer接口
java,util.function.Consumer接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定
抽象方法:accept
Consumer接口中包含抽象方法void accept(T t),意为消费一个执行的数据。
使用:
package com.yang.Test.ConsumerStudy;
import java.util.function.Consumer;
/**
* java.util.function.Consumer<T>接口则正好与Supplier接口相反
* 它不是生产一个数据,而是消费一个数据,其数据类型由泛型指定
* Consumer接口中包含抽象方法void accept(T t),意为消费一个指定泛型的数据。
* Consumer接口是一个消费性接口,泛型执行什么类型,就可以使用accept方法消费什么类型的数据
* 至于怎么消费(使用),需要自定义(输出、计算....)
*/
public class Study01 {
/**
* 定义一个方法
* 方法的参数传递一个字符串的姓名
* 方法的参数传递Consumer接口,泛型使用String
* 可以使用Consumer接口消费字符串中的姓名
*/
private static void method(String name, Consumer<String> consumer){
consumer.accept(name);
}
public static void main(String[] args) {
//调用method方法,传递一个姓名字符串和Consumer
method("赵丽颖",s -> {
//对传递的字符串进行消费
//消费方式:直接输出
System.out.println(s);
//消费方式:把字符串进行反转输出
StringBuilder stringBuilder = new StringBuilder(s);
StringBuilder reverse = stringBuilder.reverse();
System.out.println(reverse);
});
}
}
常用的函数式接口_Consumer接口的默认方法andThen
package com.yang.Test.ConsumerStudy;
import java.util.Locale;
import java.util.function.Consumer;
/**
* Consumer接口的默认方法andThen
* 作用:需要两个Consumer接口,可以把两个Consumer接口组合到一起,对数据进行消费
*
* 例如:
* Consumer<String> con1
* Consumer<String> con2
* String str = "hello";
* con1.accept(s);
* con2.accept(s);
* andThen连接两个Consumer 再进行消费
* 谁写在前面谁先消费
* con1.andThen(con2).accept(str);
*/
public class Study02 {
//定义一个方法方法的参数传递一个字符串和两个Consumer接口,Consumer接口的泛型也是用字符串
public static void method(String str, Consumer<String> con1, Consumer<String> con2) {
// con1.accept(str);
// con2.accept(str);
//使用andThen方法把两个Consumer接口连接到一起再进行消费
con1.andThen(con2).accept(str);
}
public static void main(String[] args) {
/* //调用method方法,传递一个字符串和两个Lambda表达式
method("hello", s -> {
//消费方式:把字符串转换为大写输出
System.out.println(s.toUpperCase());
}, s -> {
//消费方式:把字符串转换为小写
System.out.println(s.toLowerCase());
});*/
method("abcde",s -> System.out.println(s.toLowerCase()),s -> System.out.println(s.toUpperCase()));
}
}
常用的函数式接口_Consumer接口和常用的函数式接口_Consumer接口的默认方法andThen的更多相关文章
- 常用的函数式接口Function接口和常用的函数式接口Function接口默认方法andThen
常用的函数式接口Function接口 package com.yang.Test.FunctionStudy; import java.util.function.Function; /** * ja ...
- Java8新特性之四:接口默认方法和静态方法
在JDK1.8以前,接口(interface)没有提供任何具体的实现,在<JAVA编程思想>中是这样描述的:"interface这个关键字产生了一个完全抽象的类,它根本就没有提供 ...
- java8新特性:接口的默认方法与静态方法
接口中一共可以定义三种方法: 1.抽象方法,也就是需要实现者必须实现的方法,最常见的那种 2.默认方法,不需要实现者实现 3.静态方法,不需要实现者实现 默认方法: 允许在已有的接口中添加新方法,而同 ...
- java1.8新特性(一)接口的默认方法
一 简介 我们通常所说的接口的作用是用于定义一套标准.约束.规范等,接口中的方法只声明方法的签名,不提供相应的方法体,方法体由对应的实现类去实现. 在JDK1.8中打破了这样的认识,接口中的方法可以有 ...
- JDK1.8新特性(一): 接口的默认方法default
前言 今天在学习mysql分区优化时,发现一个博客专家大神,对其发布的文章简单学习一下: 一:简介 我们通常所说的接口的作用是用于定义一套标准.约束.规范等,接口中的方法只声明方法的签名,不提供相应的 ...
- 常用的函数式接口_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. ...
- 常用的函数式接口_Predicate接口_默认方法and和Predicate接口练习_集合接口筛选
默认方法:and 既然是条件判断,就会存在与.或.非三种常见的逻辑关系.其中将两个Preadicate条件使用"与"逻辑连接起来实现"并且"的效果时,可以使用d ...
- 16、Collection接口及其子接口Set和List(常用类LinkedList,ArrayList,Vector和Stack)
16.Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同 ...
随机推荐
- linux下nginx软件的学习
参考博客 1.nginx是什么 nginx是一个开源的,支持高性能,高并发的web服务和代理服务软件.它是开源的软件. nginx比它大哥apache性能改进许多,nginx占用的系统资源更少,支持更 ...
- 《Mybatis 手撸专栏》第8章:把反射用到出神入化
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 为什么,读不懂框架源码? 我们都知道作为一个程序员,如果想学习到更深层次的技术,就需 ...
- 用js给闺女做了一个加减乘除的html
下班回家用二十分钟给闺女做了一个加减乘除的页面,顺便记录下代码,时间仓促,后期再来修改吧 目录结构 -yq --menu.html --yq.html --yq50.html --yq70.html ...
- 【算法】冒泡排序(Bubble Sort)(一)
冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是 ...
- 浅析kubernetes中client-go structure01
Prepare Introduction 从2016年8月起,Kubernetes官方提取了与Kubernetes相关的核心源代码,形成了一个独立的项目,即client-go,作为官方提供的go客户端 ...
- GDKOI 2021 Day1 PJ 爆炸记
早上睡到 7:10 分才想起今天有 GDKOI ,赶紧去买了一个面包赶去机房 发现隔壁的大奆都过来了.比赛时由于昨晚一直没睡好,打了两个小时的哈欠 T1 :暴力模拟 根据 \(r\) 和 \(c\) ...
- Camunda如何适配国产数据库达梦
前言 camunda流程引擎官方支持的数据库有:MySQL .MariaDB .Oracle .DB2 .PostgreSQL .SQL Server.H2.对于其他类型的数据库如何支持,尤其是国产数 ...
- 1.设计模式第一步-《设计模式从头到脚舔一遍-使用C#实现》
更新记录: 完成第一次编辑:2022年4月23日20:29:33. 加入小黄人歌曲:2022年4月23日21:45:36. 1.1 设计模式(Design Pattern)是什么 设计模式是理论.是前 ...
- SAP Office Excel Intergration
*&---------------------------------------------------------------------* *& Report DEMOEXCEL ...
- SAP string 转 number 类型
try. cl_fdt_calculation=>convert_string_to_number( exporting iv_text = conv #( lwa_at ...