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的用法相关推荐

  1. java jaxb 集合_java.util.List是一个接口,JAXB不能处理接口

    java.util.List是一个接口,JAXB不能处理接口 尝试部署我的应用程序时,我似乎得到以下exception: Caused by: com.sun.xml.bind.v2.runtime. ...

  2. java迭代器 异常_java.util.NoSuchElementException在Java中使用迭代器

    我正在尝试使用迭代器遍历我的日志列表中的列表.目标是搜索包含与新日志相同的电话号码,类型和日期的日志 但是,我在条件语句中得到了java.util.NoSuchElementException.有谁知 ...

  3. java logging 格式化_java.util.logging.Logger使用详解 (转)

    各级别按降序排列如下: SEVERE(最高值) WARNING INFO CONFIG FINE FINER FINEST(最低值) 此外,还有一个级别 OFF,可用来关闭日志记录,使用级别 ALL ...

  4. java finish黑_java.util.zip.GZIPOutputStream.finish()方法示例

    java.util.zip.GZIPOutputStream.finish()方法完成将压缩数据写入输出流而不关闭底层流. 连续应用多个过滤器到相同的输出流时使用此方法. 声明 以下是java.uti ...

  5. java map 优化_java.util.map和java.util.set的优化实现?

    您可以通过以下方式节省一点内存: (a)使用A 更强.更宽的哈希代码 因此 避免储存钥匙 ; (b)从阵列中分配自己, 避免为每个哈希表条目创建单独的对象 . 如果它是有用的,这里是一个不加修饰的Ja ...

  6. java final定义_Java中final关键字的用法

    final在Java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员.方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中 ...

  7. java sort类_java中sort()方法的用法

    在java.util.Collections类中有个sort()方法,主要是用来给数组排序,排序的规则可以自己重写. (一)给数组{2,3,1,5}按自小到大排序 public class Main{ ...

  8. java 批注框_java 中一些批注的用法

    J2SE 提供的最后一个批注是 @SuppressWarnings.该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. 一点背景:J2SE 5.0 为 Java 语言增加 ...

  9. java lambda使用_Java 8 Lambda表达式的使用

    lambda表达式允许你通过表达式来代替功能接口.lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块). Lambda表达式还增 ...

最新文章

  1. 互联网1分钟 |1205
  2. 用户认证失败或权限不足异常处理
  3. debian jessie install note
  4. jquery插件dataTables(dataTables在显示表格的时候,果然是个好东西,支持排序/搜索/分页/...)
  5. linux如何安装交叉工具链,Linux:制作mipsel 交叉工具链 (更新版)
  6. LeetCode 526. Beautiful Arrangement
  7. 【论文阅读】Fully Convolutional Networks for Semantic Segmentation
  8. ASP.NET 参数传递,长度限制,及使用注意事项。
  9. graphormer 代码阅读
  10. word在html中预览,在网页中预览word和excel
  11. Day16_IO框架1(File类, IO流, 字节流字符流, IO异常, Properties)
  12. 显卡驱动卸载工具DDU
  13. 3分钟教会你Graylog收集Windows主机日志
  14. 在AWS Lambda上部署EC2编译的FFmpeg工具——自定义层的方案
  15. Linux串口通信之termios结构体说明
  16. 2021-06-24CTF-攻防世界-WEB新手练习区(12题入门题)
  17. Oracle11g新特性之Replay a captured workload 捕获工作负载新环境重放负载测试压力
  18. poj-2251 Dungeon Master【bfs】
  19. time_t c语言 2038,什么是2038问题?
  20. Cartographer源码阅读

热门文章

  1. SmartSql 动态代理仓储
  2. [ASP.NET Core 2.0 前方速报].NET Core 2.0.3 已经支持引用第三方程序集了
  3. SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)
  4. 开发者的利器:Docker 理解与使用
  5. 微软CEO纳德拉开讲,2016微软开发者峰会在京召开
  6. c语言中有12个球,数学老师做不出来的一道逻辑推理题
  7. linux脚本打印循环次数,shell脚本编程基础(3)——循环用法
  8. 几行代码搞定树形文本转XML和JSON
  9. 【测绘程序设计】视距测量神器V1.0(附源程序)
  10. SQL Server 数据库没有有效所有者的三种解决办法