java8之Lambda表達(dá)式筆記

Lambda表達(dá)式可以理解為一種匿名函數(shù);沒有名稱藏斩,有參數(shù)列表、函數(shù)主題却盘、返回類型狰域,可能還有一個可以拋出的異常列表

Lambda表達(dá)式3個部分:參數(shù)列表;箭頭黄橘;主體

在哪里使用:在函數(shù)式接口上使用

函數(shù)式接口:接口只定義了一個抽象方法兆览;

Lambda表達(dá)式允許直接以內(nèi)聯(lián)的形式作為函數(shù)式接口的抽象方法的提供,并把整個表達(dá)式作為接口的實例

@FunctionalInterface 表示該接口會設(shè)計成一個函數(shù)式接口

Lambda表達(dá)式使用步驟:1.行為參數(shù)化 2.使用函數(shù)式接口來傳遞行為 3.執(zhí)行一個行為 4.傳遞Lambda

常用函數(shù)式接口:

Predicate ? ?函數(shù)描述符 T -> boolean ? ?boolean?test(T t)?

Consumer ? T -> void ? ? ? ? ?void accept(T t)

Function ? T,R -> R ? ? R apply(T t)

Supplier ?() -> T ? T get()?

Callable ?() -> T ?T call()

BiFunction R apply(T,U)

還有為原始類型設(shè)計的對應(yīng)接口可以避免裝箱塞关。輸入?yún)?shù)類型的函數(shù)式接口的名稱要加上對應(yīng)的原始類型前綴如:IntPredicate等

類型推斷:

Lambda表達(dá)式的類型是從使用Lambda的上下文推斷出來的抬探;Lambda表達(dá)式需要的類型稱為目標(biāo)類型

如果一個Lambda的主題是一個語句表達(dá)式,它就和一個返回void的函數(shù)描述符兼容

使用局部變量:

局部變量必須顯示聲明為final

閉包就是一個函數(shù)的實例帆赢,且它可以無限制地訪問那個函數(shù)的非本地變量

方法引用:

根據(jù)已經(jīng)有的方法創(chuàng)建Lambda表達(dá)式

目標(biāo)引用在::前小压,方法名稱在后

如何構(gòu)建方法引用:1.指向靜態(tài)方法的方法引用(如:Integer :: parseInt)2.指向任意類型實例方法(String :: length)

3.指向現(xiàn)有對象的實例方法

方法引用是否有效:方法引用的簽名必須和上下文類型匹配

構(gòu)造函數(shù)引用:

ClassName::new

復(fù)合Lambda表達(dá)式的有用方法:

1.比較器復(fù)合:逆序;比較器鏈

2.謂詞復(fù)合:謂詞接口包括3個方法:negate椰于;and怠益; or

3.函數(shù)復(fù)合:Function接口代表的Lambda表達(dá)式復(fù)合起來; andThen; compose 都返回一個Function實例

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瘾婿,一起剝皮案震驚了整個濱河市蜻牢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌偏陪,老刑警劉巖抢呆,帶你破解...
    沈念sama閱讀 211,496評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異笛谦,居然都是意外死亡抱虐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評論 3 385
  • 文/潘曉璐 我一進(jìn)店門揪罕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梯码,“玉大人,你說我怎么就攤上這事好啰⌒ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 157,091評論 0 348
  • 文/不壞的土叔 我叫張陵框往,是天一觀的道長鳄抒。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么许溅? 我笑而不...
    開封第一講書人閱讀 56,458評論 1 283
  • 正文 為了忘掉前任瓤鼻,我火速辦了婚禮,結(jié)果婚禮上贤重,老公的妹妹穿的比我還像新娘茬祷。我一直安慰自己,他們只是感情好并蝗,可當(dāng)我...
    茶點故事閱讀 65,542評論 6 385
  • 文/花漫 我一把揭開白布祭犯。 她就那樣靜靜地躺著,像睡著了一般滚停。 火紅的嫁衣襯著肌膚如雪沃粗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,802評論 1 290
  • 那天键畴,我揣著相機與錄音最盅,去河邊找鬼。 笑死起惕,一個胖子當(dāng)著我的面吹牛涡贱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播疤祭,決...
    沈念sama閱讀 38,945評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼盼产,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了勺馆?” 一聲冷哼從身側(cè)響起戏售,我...
    開封第一講書人閱讀 37,709評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎草穆,沒想到半個月后灌灾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,158評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡悲柱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,502評論 2 327
  • 正文 我和宋清朗相戀三年锋喜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豌鸡。...
    茶點故事閱讀 38,637評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘿般,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涯冠,到底是詐尸還是另有隱情炉奴,我是刑警寧澤,帶...
    沈念sama閱讀 34,300評論 4 329
  • 正文 年R本政府宣布蛇更,位于F島的核電站瞻赶,受9級特大地震影響赛糟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜砸逊,卻給世界環(huán)境...
    茶點故事閱讀 39,911評論 3 313
  • 文/蒙蒙 一璧南、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧师逸,春花似錦司倚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽崖叫。三九已至遗淳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間心傀,已是汗流浹背屈暗。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留脂男,地道東北人养叛。 一個月前我還...
    沈念sama閱讀 46,344評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像宰翅,于是被迫代替她去往敵國和親弃甥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,500評論 2 348

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

  • 簡介 概念 Lambda 表達(dá)式可以理解為簡潔地表示可傳遞的匿名函數(shù)的一種方式:它沒有名稱汁讼,但它有參數(shù)列表淆攻、函數(shù)主...
    劉滌生閱讀 3,198評論 5 18
  • lambda表達(dá)式(又被成為“閉包”或“匿名方法”)方法引用和構(gòu)造方法引用擴展的目標(biāo)類型和類型推導(dǎo)接口中的默認(rèn)方法...
    183207efd207閱讀 1,473評論 0 5
  • 原文鏈接: Lambdas 原文作者: shekhargulati 譯者: leege100 lambda表達(dá)式是...
    忽來閱讀 6,576評論 8 129
  • Lambda表達(dá)式 利用行為參數(shù)化這個概念,就可以編寫更為靈活且可重復(fù)使用的代碼嘿架。但同時瓶珊,使用匿名類來表示不同的行...
    謝隨安閱讀 867評論 2 0
  • 萬里江山隨意游 溝壑連山天盡頭 特高壓線時時見 樹外人家隱隱樓 穿山過遂峽連橋 橋下車流云裊裊 絕奇山路呼不出 山...
    象天之性閱讀 207評論 0 0