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<Foo> 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<Foo> consumer_fun = foo->foo.setFirst(1);
    Consumer<Foo> consumer_fun_after = foo->foo.setFirst(2);
    consumer_fun.andThen(consumer_fun_after).accept(f);
    System.out.println(f.getFirst());
}

运行结果:

2
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,615评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • JavaScript语言精粹 前言 约定:=> 表示参考相关文章或书籍; JS是JavaScript的缩写。 本书...
    微笑的AK47阅读 587评论 0 3
  • 我的第一次景观手绘,很多不足,但是我觉得大家想学,一定多练,临摹哦
    婧取阅读 311评论 0 1