Consumer
?是一個函數式接口,位于?java.util.function
?包中。它表示一個接受單個輸入參數并且不返回任何結果的操作。Consumer
?通常用于需要對輸入參數執行某些操作但不產生返回值的場景。
Consumer
?接口定義了一個抽象方法:accept(T t)
:接受一個類型為?T
?的參數,并對其執行操作。
Consumer<Integer> display = System.out::println;
display.accept(10); // 10
Consumer
?接口還提供了一個默認方法?andThen
,用于將多個?Consumer
?操作組合在一起
Consumer<List<Integer> > modify = list ->{list.replaceAll(integer -> 2 * integer);};Consumer<List<Integer> > displayList = list -> list.forEach(a -> System.out.print(a + " "));List<Integer> list = new ArrayList<>();list.add(2);list.add(1);list.add(3);modify.andThen(displayList).accept(list); // 4 2 6
modify Consumer 接收一個 List, 將每個元素乘以2,displayList 打印每個元素,用andThen連起來。