【java笔记】常用接口(2):Consumer接口
Consumer接口是一个消费型接口,泛型指定什么类型,就可以使用accept消费什么类型数据
直接输出:
public class Demo {public static void main(String[] args) {method("asd",(name)-> System.out.println(name));}public static void method(String name, Consumer<String>con) {con.accept(name);}
}
反转输出:
public class Demo {public static void main(String[] args) {method("asd",(name)-> {String reName=new StringBuffer(name).reverse().toString();System.out.println(reName);});}public static void method(String name, Consumer<String>con) {con.accept(name);}
}
默认方法:andThen
如果一个方法的参数和返回值全都是Consumer类型,那么就可以实现效果:
消费数据的时候,首先做一个操作,然后再做一个操作,实现组合,而这个方法就是Consumer接口中的default方法andThen
常规写法:
public class Demo {public static void main(String[] args) {method("hello",(t)->{System.out.println(t.toLowerCase(Locale.ROOT));},(t)->{System.out.println(t.toUpperCase(Locale.ROOT));});}public static void method(String name, Consumer<String>con1,Consumer<String>con2) {con1.accept(name);con2.accept(name);}
}
andThen写法
public class Demo {public static void main(String[] args) {method("hello",(t)->{System.out.println(t.toLowerCase(Locale.ROOT));},(t)->{System.out.println(t.toUpperCase(Locale.ROOT));});}public static void method(String name, Consumer<String>con1,Consumer<String>con2) {con1.andThen(con2).accept(name);}
}
同理,3个接口可以用两个andThen
习题:有一个字符串数组,有姓名和性别,用两个Consumer接口输出
public class Demo {public static void main(String[] args) {String[]arr={"张三,男","李四,女"};method(arr,(m)->{String name=m.split(",")[0];System.out.print("姓名:"+name+" ");},(m)->{String male=m.split(",")[1];System.out.println("性别"+male);});}public static void method(String[] name, Consumer<String>con1,Consumer<String>con2) {for(String message:name){con1.andThen(con2).accept(message);}}
}
【java笔记】常用接口(2):Consumer接口相关推荐
- Java基础二十二:函数式接口介绍,函数式接口作为方法参数、返回值,Supplier接口、Consumer接口、Predicate接口、Function接口基本介绍及其案例小练习
函数式接口 1. 函数式接口概念及基本使用 1.函数式接口:有且仅有一个抽象方法的接口,函数式接口就是Lambda表达式使用的前提 2. Java中的函数式编程体现的就是Lambda表达式,所以函数式 ...
- Java笔记整理五(Iterator接口,泛型,常见数据结构(栈,队列,数组,链表,红黑树,集合),jdk新特性,异常,多线程,Lambda表达式)
Java笔记整理五 1.1Iterator接口 Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象 ...
- JAVA8之函数式编程Supplier接口和Consumer接口
JAVA8之函数式编程Supplier接口和Consumer接口 一. Supplier接口 顾名思义,这是一个供应商,提供者.就如一个工厂一样.该类的源码如下: package java.ut ...
- 9.1-全栈Java笔记: 容器泛型—认识Collection接口
开发和学习中需要时刻和数据打交道,如果组织这些数据是我们编程中重要的内容. 我们一般通过"容器"来容纳和管理数据. 事实上,数组就是一种容器,可以在其中放置对象或基本类型数据. ...
- java8 supplier_Java8 Supplier接口和Consumer接口原理解析
Supplier接口 package java.util.function; /** * Represents a supplier of results. * * There is no requi ...
- 10.4-全栈Java笔记:常用流详解(二)
上节我们讲到「Java中常用流:文件字节流和字节数组流」,本节我们继续走起~ 缓冲流 BufferedInputStream和BufferedOutputStream这两个流是处理流,通过内部缓存数 ...
- 【Java笔记】集合(Collection接口)的使用
面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.使用 Array 存储对象方面具有一些弊端,而 Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中 ...
- Java笔记-常用类String
常用类String 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. String 创建的字符串存储在公共池中. import java.util.Arrays; ...
- JAVA笔记-常用操作
一.使用String.format()格式化字符串 1:介绍 String类的format()方法用来创建格式化的字符串或者连接多个字符串对象 2:使用 Str ...
- 函数式接口 BiConsumer接口和Consumer接口
BiConsumer定义了两个泛型类型T和R,分别做为accept()方法的参数类型,BiConsumer支持2个参数. 1.void accept(T t, U u);方法 自定义IBiConsum ...
最新文章
- AI来了,服务器市场要变天?
- 写文件 —— 将内容按照指定格式写入配置文件(fwrite()函数-》》向指定的文件中写入若干数据块)
- hao123电脑版主页_生活小技巧003:电脑主页被恶意篡改怎么办?
- CodeForces 1361E James and the Chase(dfs + 结论)
- org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI
- 同步设备IO与异步设备IO
- hadoop之MapReduce的案例(多表关联)
- pycharm写python字典_pycharm_字典
- tcp连接时,BROKEN PIPE错误的原因以及解决方法
- 华为抓取错误日志在哪里_分析Spider抓取情况和SEO优化
- button执行onclick函数_【JavaScript】函数
- 大数据分析师应掌握哪种编程语言
- 2022年java学习路线指南
- 2020年C题认证杯SEIR模型参数拟合
- IMO A.688(16) 寝具用品点燃性测试
- 计算机管理 灰色,详解电脑任务管理器变成灰色不可用的解决方法
- centos ping 路由_centos服务器怎么ping命令
- date月份加一_delphi 年月日自动加一减一函数,月加一,月减一
- A002-185-1203
- QGIS与网易有道词典冲突
热门文章
- siblings() 获得匹配集合中每个元素的同胞,通过选择器进行筛选是可选的。
- Castle 开发系列文章
- Bailian2950 摘花生【贪心】
- HDU1066 Last non-zero Digit in N!【大数+模除】
- JSK-24 函数规律【基础】
- jQuery AJAX 与 jQuery 事件
- 从球面几何到非欧几何
- 斐波那契数列与黄金分割比以及矩阵形式推导
- python varchar_在python中声明varchar
- relu函数_【AI初识境】激活函数:从人工设计(sigmoid,relu)到自动搜索(swish)