三、JDK1.8—函數式接口

函數式接口

只包含一個抽象方法的接口,稱爲函數式接口。 

你可以通過 Lambda 表達式來創建該接口的對象。(若 Lambda 表達式拋出一個受檢異常,那麼該異常需要在目標接口的抽象方法上進行聲明)。


我們可以在任意函數式接口上使用 @FunctionalInterface 註解,這樣做可以檢查它是否是一個函數式接口,同時 javadoc 也會包含一條聲明,說明這個接口是一個函數式接口

@FunctionalInterface
public interface IMyNumCalculation<T1, R> {
 
	public R calculation(T1 t1, T1 t2);
 
//	public R calculationTest(T1 t1, T2 t2); @FunctionalInterface 修飾只能有一個抽象方法
 
}

Java 內置四大核心函數式接口

函數式接口  參數類型 返回類型 用途
Consumer<T> 消費型接 T void  對類型爲T的對象應用操 作,包含方法: void accept(T t)

Supplier<T>

供給型接口

T 返回類型爲T的對象,包 含方法:T get();
Function<T, R> 函數型接口 T R 對類型爲T的對象應用操 作,並返回結果。結果 是R類型的對象。包含方 法:R apply(T t);
Predicate<T> 斷定型接口 T boolean 確定類型爲T的對象是否 滿足某約束,並返回 boolean 值。包含方法 boolean test(T t);


Java 內置其他函數式接口

 

函數式接口  參數類型 返回類型 用途
BiFunction<T, U, R> T, U R  對類型爲 T, U 參數應用 操作,返回 R 類型的結 果。包含方法爲 R apply(T t, U u); 
UnaryOperator<T> (Function子接口) T T  對類型爲T的對象進行一 元運算,並返回T類型的 結果。包含方法爲 T apply(T t);
BinaryOperator<T> (BiFunction 子接口) T, T T 對類型爲T的對象進行二 元運算,並返回T類型的 結果。包含方法爲 T apply(T t1, T t2); 
BiConsumer<T, U>  T, U void 對類型爲T, U 參數應用 操作。包含方法爲 void accept(T t, U u)
ToIntFunction<T> ToLongFunction<T> ToDoubleFunction<T T

int

long double

分 別 計 算 int 、 long 、 double、值的函數
IntFunction<R> LongFunction<R> DoubleFunction<R>

int

long doubl

R  參數分別爲int、long、 double 類型的函數

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章