JDK8新特性之函式式介面

2021-10-10 11:20:45 字數 979 閱讀 2917

函式式介面,有且僅有乙個需要被重寫的抽象方法的介面。

這個東西,其實沒什麼好說的,主要就乙個定義,你只要能明白什麼是函式式介面就可以了,出門左拐,劃走吧。

lambda表示式的前提就是該介面必須是函式式介面。

那麼如何校驗乙個介面是函式式介面呢,如果你清楚函式式介面的定義,那麼你可以用肉眼去看,如果你不清楚的話,你需要用顯微鏡去看。

@functionalinte***ce,這個介面可以檢測是否為函式式介面,放到介面上邊,如果報錯,就不是。

consumer(消費者,可以消費使用乙個資料)

抽象方法

void accept

(t t): 消費使用乙個資料。

集合流的foreach方法就是這個東西。

predicate

(可以判斷乙個資料是否符合要求)

抽象方法

booolean test

(t t): 判斷資料是否符合要求

預設方法:

default predicate and

(predicate other):合併兩個predicate,並且的關係。相當於&&。

default predicate or

(predicate other):合併兩個predicate,或者的關係。相當於||。

default predicate negate

():取反。 相當於!。

JDK8新特性 函式式介面

只包含乙個抽象方法的介面,稱為函式式介面。我們可以在乙個介面上使用 functionalinte ce 註解,這樣做可以檢 查它是否是乙個函式式介面。lambda表示式就是乙個函式式介面的例項。所以以前用匿名實現類表示的現在都可以用lambda表示式來寫 根據給定的規則,過濾集合中的字串。此規則由p...

JDK8新特性(1) 函式式介面

修飾符 inte ce 介面名稱由於介面中的public abstract是可以省略的,所以函式式介面可以定義為 public inte ce myinte ce functionalinte ce 檢測介面是否為函式式介面 是 編譯成功 functionalinte ce public inte ...

JDK8新特性函式式介面的使用示例

jdk8推出了很多新特性,比如 在寫函式式介面的使用示例之前,先了解如下幾個知識 文字檔案內容讀取輸出string字串。大概流程 位元組流 字元流 字元緩衝流,會經過幾次io流的封裝 io流轉換 io流關閉和異常捕獲,很繁瑣。下面我們通過函式式介面做一下封裝,把前面步驟封裝起來,留最後一步緩衝流讀取...