美文网首页
java.util.function.Consumer的用法

java.util.function.Consumer的用法

作者: 传说中的大哥 | 来源:发表于2018-06-19 10:48 被阅读0次

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

相关文章

网友评论

      本文标题:java.util.function.Consumer的用法

      本文链接:https://www.haomeiwen.com/subject/hmfaeftx.html