日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lambda-常用函数式接口

發布時間:2025/1/21 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lambda-常用函数式接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、常用函數式接口

JDK提供了大量常用的函數式接口以豐富Lambda的典型使用場景,它們主要在 java.util.function 包中被提供。 下面是最簡單的幾個接口及使用示例。

#1.Supplier接口

java.util.function.Supplier<T> 接口僅包含一個無參的方法: T get() 。用來獲取一個泛型參數指定類型的對象數據。由于這是一個函數式接口,這也就意味著對應的Lambda表達式需要對外提供一個符合泛型類型的對象數據。 import java.util.function.Supplier; public class Demo08Supplier {private static String getString(Supplier<String> function) {return function.get();}public static void main(String[] args) {String msgA = "Hello"; String msgB = "World";System.out.println(getString(() ‐> msgA + msgB));} }

#1.2 練習:求數組元素最大值

使用 Supplier 接口作為方法參數類型,通過Lambda表達式求出int數組中的最大值。提示:接口的泛型請使用 java.lang.Integer 類。 public class Demo02Test { //定一個方法,方法的參數傳遞Supplier,泛型使用Integer public static int getMax(Supplier<Integer> sup){return sup.get(); }public static void main(String[] args) {int arr[] = {2,3,4,52,333,23}; //調用getMax方法,參數傳遞Lambdaint maxNum = getMax(()‐>{ //計算數組的最大值 int max = arr[0];for(int i : arr){if(i>max){max = i;} }return max;});System.out.println(maxNum);} }

#2.Consumer接口

java.util.function.Consumer<T> 接口則正好與Supplier接口相反,它不是生產一個數據,而是消費一個數據,其數據類型由泛型決定。 疑問:什么是消費呢?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的Lambda-常用函数式接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。