文章目錄
- 一、什么是函數式接口
- 二、四大核心函數式接口
- 三、使用舉例
一、什么是函數式接口
- 如果一個接口只有一個抽象方法,那么該接口就是一個函數式接口
- 函數式接口的實例可以通過 lambda 表達式、方法引用或者構造方法引用來創建
- 如果我們在某個接口上聲明了
@FunctionalInterface
注解,那么編譯器就會按照函數式接口的定義來要求該接口
二、四大核心函數式接口
函數式接口 | 稱謂 | 參數類型 | 用途 |
---|---|---|---|
Consumer<T> | 消費型接口 | T | 對類型為T的對象應用操作,包含方法: void accept(T t) |
Supplier<T> | 供給型接口 | 無 | 返回類型為T的對象,包含方法:T get() |
Function<T, R> | 函數型接口 | T | 對類型為T的對象應用操作,并返回結果。結果是R類型的對象。包含方法:R apply(T t) |
Predicate<T> | 判斷型接口 | T | 確定類型為T的對象是否滿足某約束,并返回 boolean 值。包含方法:boolean test(T t) |
三、使用舉例
public class One {public static void main(String[] args) {consumMoney(2000,x-> System.out.println("這個手機是:"+x+"元"));}public static void consumMoney(int money, Consumer consumer){consumer.accept(money);}}
結果:
在上述例子中,main方法中調用了consumMoney方法,傳入了兩個參數;consumer的實現形式就是
x-> System.out.println("這個手機是:"+x+"元")
,即:傳入一個參數x,然后拼接輸出。在consumMoney方法中調用accept方法,按照預定實現形式輸出結果。