Java?8函數(shù)式接口之Consumer用法示例詳解
Java 8函數(shù)式接口Consumer
Consumer<T> 是 Java 8 中的一個預定義函數(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); } }
打印結果:
Apple
Orange
Banana
Mango
在上面的示例中,我們首先創(chuàng)建了一個字符串列表 fruits,然后創(chuàng)建了一個 Consumer<String> 對象 printFruit,通過 lambda 表達式實現(xiàn)了 accept() 方法的具體操作,即打印每個水果的名稱。
使用 forEach() 方法結合 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(即當前 Iterable 對象),對每個元素執(zhí)行 action.accept(t),其中 t 是當前元素。
以上就是Java 8函數(shù)式接口之Consumer用法示例詳解的詳細內容,更多關于Java 8函數(shù)式接口Consumer的資料請關注腳本之家其它相關文章!
相關文章
JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis
這篇文章主要介紹了JavaEE Spring MyBatis是什么? 它和Hibernate的區(qū)別有哪些?如何配置MyBatis?本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08spring?cloud之eureka高可用集群和服務分區(qū)解析
這篇文章主要介紹了spring?cloud之eureka高可用集群和服務分區(qū)解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03java實現(xiàn)圖的鄰接表存儲結構的兩種方式及實例應用詳解
這篇文章主要介紹了java實現(xiàn)圖的鄰接表存儲結構的兩種方式及實例應用詳解,鄰接表構建圖是必須需要一個Graph對象,也就是圖對象!該對象包含屬性有:頂點數(shù)、邊數(shù)以及圖的頂點集合,需要的朋友可以參考下2019-06-06Spring Cloud Gateway 記錄請求應答數(shù)據(jù)日志操作
這篇文章主要介紹了Spring Cloud Gateway 記錄請求應答數(shù)據(jù)日志操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12