天天看點

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