Java?8函數(shù)式接口之Consumer用法示例詳解
Java 8函數(shù)式接口Consumer
Consumer<T> 是 Java 8 中的一個預(yù)定義函數(shù)式接口,用于表示接受一個輸入?yún)?shù) T 并執(zhí)行某些操作但沒有返回值的操作。
Consumer<T> 接口中定義了一個抽象方法 void accept(T t),該方法接受一個參數(shù) t,表示要執(zhí)行的操作。你可以使用 accept() 方法來定義具體的操作邏輯。
使用 Consumer<T> 接口
示例代碼
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
public class ConsumerExample {
public static void main(String[] args) {
// 定義一個字符串列表
List<String> fruits = Arrays.asList("Apple", "Orange", "Banana", "Mango");
// 使用 Consumer 接口實現(xiàn)遍歷輸出每個水果的操作
Consumer<String> printFruit = fruit -> System.out.println(fruit);
fruits.forEach(printFruit);
// 可簡化為以下形式
fruits.forEach(System.out::println);
}
}打印結(jié)果:
Apple
Orange
Banana
Mango
在上面的示例中,我們首先創(chuàng)建了一個字符串列表 fruits,然后創(chuàng)建了一個 Consumer<String> 對象 printFruit,通過 lambda 表達(dá)式實現(xiàn)了 accept() 方法的具體操作,即打印每個水果的名稱。
使用 forEach() 方法結(jié)合 Consumer 接口,可以簡潔地遍歷列表并執(zhí)行指定的操作。
forEach() 方法源碼
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}在 forEach 方法的實現(xiàn)中,首先檢查傳入的 action 是否為 null,如果為 null,則會拋出 NullPointerException。然后,它使用增強的 for 循環(huán)遍歷 this(即當(dāng)前 Iterable 對象),對每個元素執(zhí)行 action.accept(t),其中 t 是當(dāng)前元素。
以上就是Java 8函數(shù)式接口之Consumer用法示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Java 8函數(shù)式接口Consumer的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java生成csv文件亂碼的解決方法示例 java導(dǎo)出csv亂碼
這篇文章主要介紹了java生成csv文件亂碼的解決方法,大家可以直接看下面的示例2014-01-01
Java接口和抽象類實現(xiàn)抽象和多態(tài)的方法示例
接口和抽象類是 Java 中兩種實現(xiàn)抽象和多態(tài)的方法。它們之間有一些區(qū)別,但也有一些相似之處。這一節(jié)我們將通過詳細(xì)的例子來更深入地了解接口和抽象類2023-05-05
Spring?Boot將@RestController誤用于視圖跳轉(zhuǎn)問題解決
這篇文章主要為大家介紹了Spring?Boot將@RestController誤用于視圖跳轉(zhuǎn)問題解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

