第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

lamdba表達(dá)式

lamdba表達(dá)式

fenkapian 2017-06-19 19:12:16
public?int?addCombinationSku(CombinationSku?combinationSku)?{ ????logger.debug("addCombinationSku?and?combinationSku?:{}",?combinationSku); ????List<String>?list?=?combinationSkuMapper.querySkuIdWithAdd(combinationSku); ????if?(!CollectionUtils.isEmpty(list))?{ ????????if?(list.stream().filter(id?->?id.equals(combinationSku.getSkuId())).count()?!=?0)?{ ????????????return?0; ????????} ????} ????return?combinationSkuMapper.addCombinationSku(combinationSku); }麻煩解讀下這方法,lambda表達(dá)式好難,看不懂
查看完整描述

2 回答

已采納
?
onemoo

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊

你這個(gè)例子中 lambda 表達(dá)式就是這個(gè)部分: id?-> id.equals(combinationSku.getSkuId())


lambda 表達(dá)式的語(yǔ)法是:(參數(shù)...) -> 語(yǔ)句或語(yǔ)句塊。 如果參數(shù)只有一個(gè),那參數(shù)列表的括號(hào)可以省略。

lambda 表達(dá)式的功能是:它接受這些參數(shù),在執(zhí)行時(shí)會(huì)執(zhí)行 -> 后面的語(yǔ)句或語(yǔ)句塊。 所以這個(gè) lambda 表達(dá)式會(huì)接受 id 作參數(shù)(id 是參數(shù)名,先別管參數(shù)類型是什么),并且在執(zhí)行時(shí)就執(zhí)行?id.equals(combinationSku.getSkuId()) 這條語(yǔ)句,表達(dá)式的返回值也就是該語(yǔ)句的返回值。


這個(gè) lambda 用在 filter() 中。filter 的參數(shù)是一個(gè)過(guò)濾條件,filter 把這個(gè)過(guò)濾條件應(yīng)用到每個(gè) stream 的元素上,然后 filter 會(huì)返回滿足過(guò)濾條件的子 stream。 ?而這個(gè)過(guò)濾條件要求輸入的是元素,返回的是判斷后的 boolean?結(jié)果(true代表通過(guò)了過(guò)濾)。

這里這個(gè)過(guò)濾條件就是用 lambda 表達(dá)式來(lái)表示的。lambda 中的 id 就代表每次判斷時(shí)的元素,而 lambda 執(zhí)行的具體代碼?id.equals(combinationSku.getSkuId()) 就是用于判斷的代碼。你可以看到這個(gè)代碼的返回類型就是 boolean,其代表了判斷結(jié)果。


對(duì) lambda 表達(dá)式的詳解需要你理解 interface 及 functional interface,我不知道你學(xué)到它們了嗎?

不了解也沒(méi)關(guān)系,lambda 表達(dá)式的作用就是上面所說(shuō)的,目前你知道 lambda 表達(dá)式可以這樣用就行了。

查看完整回答
反對(duì) 回復(fù) 2017-06-20
  • 2 回答
  • 2 關(guān)注
  • 1728 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)