java consumer 使用_java.util.function.Consumer的用法
Consumer类包含两个方法,一个accept方法用来对输入的参数进行自定义操作,因为是个抽象方法,所以需要实例化对象的时候进行Override,另一个andThen方法跟Function的方法一样是一个default方法,已经有内部实现所以不需要用户重写,并且具体功能也跟Function差不多。Consumer的中文意思是消费者,意即通过传递进一个参数来对参数进行操作。
例:
class Foo {
private Integer first;
public Integer getFirst() {
return first;
}
public void setFirst(Integer first) {
this.first = first;
}
}
public static void main(String[] args) {
Foo f = new Foo();
Consumer consumer_fun = foo->foo.setFirst(1);
consumer_fun.accept(f);
System.out.println(f.getFirst());
}
运行结果:
1
andThen方法:
返回一个先执行当前函数对象apply方法再执行after函数对象apply方法的函数对象
例:
我们把之前的调整下
public static void main(String[] args) {
Foo f = new Foo();
Consumer consumer_fun = foo->foo.setFirst(1);
Consumer consumer_fun_after = foo->foo.setFirst(2);
consumer_fun.andThen(consumer_fun_after).accept(f);
System.out.println(f.getFirst());
}
运行结果:
2
java consumer 使用_java.util.function.Consumer的用法相关推荐
- java jaxb 集合_java.util.List是一个接口,JAXB不能处理接口
java.util.List是一个接口,JAXB不能处理接口 尝试部署我的应用程序时,我似乎得到以下exception: Caused by: com.sun.xml.bind.v2.runtime. ...
- java迭代器 异常_java.util.NoSuchElementException在Java中使用迭代器
我正在尝试使用迭代器遍历我的日志列表中的列表.目标是搜索包含与新日志相同的电话号码,类型和日期的日志 但是,我在条件语句中得到了java.util.NoSuchElementException.有谁知 ...
- java logging 格式化_java.util.logging.Logger使用详解 (转)
各级别按降序排列如下: SEVERE(最高值) WARNING INFO CONFIG FINE FINER FINEST(最低值) 此外,还有一个级别 OFF,可用来关闭日志记录,使用级别 ALL ...
- java finish黑_java.util.zip.GZIPOutputStream.finish()方法示例
java.util.zip.GZIPOutputStream.finish()方法完成将压缩数据写入输出流而不关闭底层流. 连续应用多个过滤器到相同的输出流时使用此方法. 声明 以下是java.uti ...
- java map 优化_java.util.map和java.util.set的优化实现?
您可以通过以下方式节省一点内存: (a)使用A 更强.更宽的哈希代码 因此 避免储存钥匙 ; (b)从阵列中分配自己, 避免为每个哈希表条目创建单独的对象 . 如果它是有用的,这里是一个不加修饰的Ja ...
- java final定义_Java中final关键字的用法
final在Java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员.方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中 ...
- java sort类_java中sort()方法的用法
在java.util.Collections类中有个sort()方法,主要是用来给数组排序,排序的规则可以自己重写. (一)给数组{2,3,1,5}按自小到大排序 public class Main{ ...
- java 批注框_java 中一些批注的用法
J2SE 提供的最后一个批注是 @SuppressWarnings.该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. 一点背景:J2SE 5.0 为 Java 语言增加 ...
- java lambda使用_Java 8 Lambda表达式的使用
lambda表达式允许你通过表达式来代替功能接口.lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块). Lambda表达式还增 ...
最新文章
- 互联网1分钟 |1205
- 用户认证失败或权限不足异常处理
- debian jessie install note
- jquery插件dataTables(dataTables在显示表格的时候,果然是个好东西,支持排序/搜索/分页/...)
- linux如何安装交叉工具链,Linux:制作mipsel 交叉工具链 (更新版)
- LeetCode 526. Beautiful Arrangement
- 【论文阅读】Fully Convolutional Networks for Semantic Segmentation
- ASP.NET 参数传递,长度限制,及使用注意事项。
- graphormer 代码阅读
- word在html中预览,在网页中预览word和excel
- Day16_IO框架1(File类, IO流, 字节流字符流, IO异常, Properties)
- 显卡驱动卸载工具DDU
- 3分钟教会你Graylog收集Windows主机日志
- 在AWS Lambda上部署EC2编译的FFmpeg工具——自定义层的方案
- Linux串口通信之termios结构体说明
- 2021-06-24CTF-攻防世界-WEB新手练习区(12题入门题)
- Oracle11g新特性之Replay a captured workload 捕获工作负载新环境重放负载测试压力
- poj-2251 Dungeon Master【bfs】
- time_t c语言 2038,什么是2038问题?
- Cartographer源码阅读
热门文章
- SmartSql 动态代理仓储
- [ASP.NET Core 2.0 前方速报].NET Core 2.0.3 已经支持引用第三方程序集了
- SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)
- 开发者的利器:Docker 理解与使用
- 微软CEO纳德拉开讲,2016微软开发者峰会在京召开
- c语言中有12个球,数学老师做不出来的一道逻辑推理题
- linux脚本打印循环次数,shell脚本编程基础(3)——循环用法
- 几行代码搞定树形文本转XML和JSON
- 【测绘程序设计】视距测量神器V1.0(附源程序)
- SQL Server 数据库没有有效所有者的三种解决办法