2019-02-04——Java8 函數(shù)式接口

函數(shù)式接口(Functional Interface)就是一個有且僅有一個抽象方法辑舷,但是可以有多個非抽象方法的接口袱蚓。

(1)加不加 @FunctionalInterface 對于接口是不是函數(shù)式接口沒有影響遍尺,該注解只是提醒編譯器去檢查該接口是否僅包含一個抽象方法
(2)函數(shù)式接口里是可以包含默認方法饭弓,因為默認方法不是抽象方法橱野,其有一個默認實現(xiàn)灶搜,所以是符合函數(shù)式接口的定義的邀桑;
(3)函數(shù)式接口里是可以包含靜態(tài)方法瞎疼,因為靜態(tài)方法不能是抽象方法,是一個已經(jīng)實現(xiàn)了的方法壁畸,所以是符合函數(shù)式接口的定義的贼急;
(4)函數(shù)式接口里是可以包含Object里的public方法茅茂,這些方法對于函數(shù)式接口來說,不被當(dāng)成是抽象方法(雖然它們是抽象方法)太抓;因為任何一個函數(shù)式接口的實現(xiàn)空闲,默認都繼承了 Object 類,包含了來自 java.lang.Object 里對這些抽象方法的實現(xiàn)走敌;


基本接口

接口 描述
Consumer<T> 代表了接受一個輸入?yún)?shù)并且無返回的操作
Supplier<T> 無參數(shù)碴倾,返回一個結(jié)果
Function<T,R> 接受一個輸入?yún)?shù),返回一個結(jié)果掉丽。
Predicate<T> 接受一個輸入?yún)?shù)跌榔,返回一個布爾值結(jié)果。

第一次變種

接口 描述
BiConsumer<T,U> 代表了一個接受兩個輸入?yún)?shù)的操作机打,并且不返回任何結(jié)果
BiFunction<T,U,R> 代表了一個接受兩個輸入?yún)?shù)的方法矫户,并且返回一個結(jié)果
BiPredicate<T,U> 代表了一個兩個參數(shù)返回一個boolean值的方法

第二次變種

接口 描述
UnaryOperator<T> 接受一個參數(shù)為類型T,返回值類型也為T。
BinaryOperator<T> 代表了一個作用于于兩個同類型操作符的操作残邀,并且返回了操作符同類型的結(jié)果

第三次變種

接口 描述
IntConsumer 接受一個int類型的輸入?yún)?shù),無返回值柑蛇。
IntSupplier 無參數(shù)芥挣,返回一個int類型結(jié)果。
IntFunction<R> 接受一個int類型輸入?yún)?shù)耻台,返回一個結(jié)果空免。
IntPredicate 接受一個int輸入?yún)?shù),返回一個布爾值的結(jié)果盆耽。
IntUnaryOperator 接受一個參數(shù)同為類型int,返回值類型也為int 蹋砚。
IntBinaryOperator 接受兩個參數(shù)同為類型int,返回值類型也為int 。

第四次變種

接口 描述
DoubleConsumer 代表一個接受double值參數(shù)的操作摄杂,并且不返回結(jié)果坝咐。
DoubleSupplier 代表一個double值結(jié)構(gòu)的提供方
DoubleFunction<R> 代表接受一個double值參數(shù)的方法,并且返回結(jié)果
DoublePredicate 代表一個擁有double值參數(shù)的boolean值方法
DoubleBinaryOperator 代表了作用于兩個double值操作符的操作析恢,并且返回了一個double值的結(jié)果墨坚。
DoubleUnaryOperator 接受一個參數(shù)同為類型double,返回值類型也為double。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末映挂,一起剝皮案震驚了整個濱河市泽篮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌柑船,老刑警劉巖帽撑,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異鞍时,居然都是意外死亡亏拉,警方通過查閱死者的電腦和手機历恐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來专筷,“玉大人弱贼,你說我怎么就攤上這事×子迹” “怎么了吮旅?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長味咳。 經(jīng)常有香客問我庇勃,道長,這世上最難降的妖魔是什么槽驶? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任责嚷,我火速辦了婚禮,結(jié)果婚禮上掂铐,老公的妹妹穿的比我還像新娘罕拂。我一直安慰自己,他們只是感情好全陨,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布爆班。 她就那樣靜靜地躺著,像睡著了一般辱姨。 火紅的嫁衣襯著肌膚如雪柿菩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天雨涛,我揣著相機與錄音枢舶,去河邊找鬼。 笑死替久,一個胖子當(dāng)著我的面吹牛凉泄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播侣肄,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼旧困,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了稼锅?” 一聲冷哼從身側(cè)響起吼具,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矩距,沒想到半個月后拗盒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡锥债,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年陡蝇,在試婚紗的時候發(fā)現(xiàn)自己被綠了痊臭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡登夫,死狀恐怖广匙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恼策,我是刑警寧澤鸦致,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站涣楷,受9級特大地震影響分唾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜狮斗,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一绽乔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碳褒,春花似錦折砸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至专酗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盗扇,已是汗流浹背祷肯。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疗隶,地道東北人佑笋。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像斑鼻,于是被迫代替她去往敵國和親蒋纬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 整理來自互聯(lián)網(wǎng) 1坚弱,JDK:Java Development Kit蜀备,java的開發(fā)和運行環(huán)境,java的開發(fā)工具...
    Ncompass閱讀 1,534評論 0 6
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹 對...
    cosWriter閱讀 11,089評論 1 32
  • 一荒叶、基礎(chǔ)知識:1碾阁、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機...
    殺小賊閱讀 2,365評論 0 4
  • 如何用畫圖工具拼出想要的圖片 第一步些楣,先打開所需圖片一脂凶。 第二步宪睹,按電腦F 12旁邊的屏幕截頻P?ri?n?t?S...
    我心我愿秀閱讀 789評論 0 1
  • 姓名:陳權(quán) 公司:青檸養(yǎng)車 【知~學(xué)習(xí)】 《六項精進》大綱56遍 共89遍 《匠人精神》音頻打卡第14天 《輕課口...
    水青檸閱讀 62評論 0 0