Java中的Consumer是一個函數式接口,用于表示接受一個參數并且不返回結果的操作。它定義了一個名為accept
的抽象方法,該方法接受一個參數,并根據需要進行操作。
Consumer的用法可以通過以下步驟進行:
Consumer<String> consumer = (str) -> System.out.println(str);
accept
方法來使用它。例如:consumer.accept("Hello World");
這將輸出"Hello World"。
andThen
方法將多個Consumer鏈接在一起,形成一個Consumer鏈。andThen
方法會返回一個新的Consumer對象,該對象依次執行原始Consumer和傳遞給andThen
方法的Consumer。例如:Consumer<String> consumer1 = (str) -> System.out.println(str);
Consumer<String> consumer2 = (str) -> System.out.println(str.toUpperCase());
Consumer<String> chainedConsumer = consumer1.andThen(consumer2);
chainedConsumer.accept("Hello World");
這將先輸出"Hello World",然后輸出"HELLO WORLD"。
Consumer的用途之一是在集合操作中進行元素的處理,比如對集合中的每個元素執行特定的操作。它可以與Java 8中的Stream API一起使用,例如:
List<String> list = Arrays.asList("Apple", "Banana", "Orange");
list.stream().forEach((str) -> System.out.println(str));
這將分別輸出"Apple"、“Banana"和"Orange”。