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

2021-10-11 01:14:50 字數 1964 閱讀 8825

修飾符	inte***ce 介面名稱
由於介面中的public abstract是可以省略的,所以函式式介面可以定義為

public

inte***ce

myinte***ce

/**

* @functionalinte***ce 檢測介面是否為函式式介面

* 是:編譯成功

*/@functionalinte***ce

public

inte***ce

myfuncinte***ce

/**

* @functionalinte***ce 檢測介面是否為函式式介面

* 是:編譯成功

*/@functionalinte***ce

public

inte***ce

myfuncinte***ce

public

class

myfuncinte***ceimpl

implements

myfuncinte***ce

}

/**

* @description 函式式介面使用:一般可以作為方法的引數和返回值型別

* @author tzb

* @date 2020/11/30 16:56

* @version 1.0

**/public

class

demo

public

static

void

main

(string[

] args)})

;// 方法2:呼叫show 方法,方法引數是乙個介面,可以傳遞 lambda表示式

show((

)->);

// 簡化 lambda 表示式

show((

)-> system.out.

println

("簡化lambda表示式重寫抽象方法"));}}

;// 傳遞lambda表示式,run方法沒有引數

startthread((

)->);

}}

public

class

demo02comparator

// };

// 返回值型別是乙個函式式介面,返回乙個 lambda 表示式

/* return (string o1, string o2) -> ;*/

// 優化 lambda

return

(o1, o2)

->

o2.length()

- o1.

length()

;}public

static

void

main

(string[

] args)

; arrays.

sort

(arr,

getcomparator()

);system.out.

println

(arrays.

tostring

(arr));

}}

JDK8新特性 函式式介面

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

JDK8新特性之函式式介面

函式式介面,有且僅有乙個需要被重寫的抽象方法的介面。這個東西,其實沒什麼好說的,主要就乙個定義,你只要能明白什麼是函式式介面就可以了,出門左拐,劃走吧。lambda表示式的前提就是該介面必須是函式式介面。那麼如何校驗乙個介面是函式式介面呢,如果你清楚函式式介面的定義,那麼你可以用肉眼去看,如果你不清...

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

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