摘要:是已經(jīng)出了很久的概念,而最近項(xiàng)目使用的是,所以我想順道學(xué)學(xué)的特性?;A(chǔ)的范例文章網(wǎng)上一大把,可是實(shí)際應(yīng)用的上的寥寥無(wú)幾,畢竟我們有很多的邏輯需要處理,不僅僅是。場(chǎng)景客戶下了多個(gè)訂單,我需要得到訂單的總金額。
這篇文章適合又一定編程經(jīng)驗(yàn)的人閱讀。
lambda是已經(jīng)出了很久的概念,而最近項(xiàng)目使用的是java8,所以我想順道學(xué)學(xué)java8的特性?;A(chǔ)的范例文章網(wǎng)上一大把,可是實(shí)際應(yīng)用的上的寥寥無(wú)幾,畢竟我們有很多的邏輯需要處理,不僅僅是System.out。
場(chǎng)景:客戶下了多個(gè)訂單,我需要得到訂單的總金額。
平時(shí)的話我們用for循環(huán),將單價(jià)和數(shù)量乘積得到就可以了,但是在lambda里面呈現(xiàn)的是什么樣的呢?下面我給大家一個(gè)別的文章并不會(huì)給出,但是絕對(duì)常用的例子:
public static void main(String ...strings){ //第一個(gè)訂單,其他訂單信息我就不寫了 OrderDetail od1= new OrderDetail(); od1.setNumber(2); od1.setPrice(15.0F); //第二個(gè)訂單 OrderDetail od2= new OrderDetail(); od2.setNumber(5); od2.setPrice(23.0F); //加入待統(tǒng)計(jì)的list中 Listlist= Arrays.asList(od1,od2); //得到總額 double total=list.stream().mapToDouble(od -> od.getNumber()*od.getPrice()).sum(); System.out.println(total); }
啊啊啊,就是這么簡(jiǎn)單,但是別人卻沒這么寫過(guò),其實(shí)代碼并不復(fù)雜,慢慢的你就理解了!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65098.html
摘要:使用表達(dá)式,使得應(yīng)用變得簡(jiǎn)潔而緊湊。很多語(yǔ)言等從設(shè)計(jì)之初就支持表達(dá)式。表達(dá)式的參數(shù)與函數(shù)式接口內(nèi)方法的參數(shù),返回值類型相互對(duì)應(yīng)。更多教程和資料請(qǐng)上騰訊課堂樂字節(jié) showImg(https://segmentfault.com/img/bVbtotg?w=935&h=345); Java8 引入Lambda表達(dá)式,允許開發(fā)者將函數(shù)當(dāng)成參數(shù)傳遞給某個(gè)方法,或者把代碼本身當(dāng)作數(shù)據(jù)進(jìn)行處理。...
摘要:大家好,我是樂字節(jié)的小樂,上一次我們說(shuō)到了核心特性之函數(shù)式接口,接下來(lái)我們繼續(xù)了解又一核心特性方法引用。方法引用是一種更簡(jiǎn)潔易懂的表達(dá)式。感謝光臨閱讀小樂的,敬請(qǐng)關(guān)注樂字節(jié)后續(xù)將繼續(xù)講述等前沿知識(shí)技術(shù)。 大家好,我是樂字節(jié)的小樂,上一次我們說(shuō)到了Java8核心特性之函數(shù)式接口,接下來(lái)我們繼續(xù)了解Java8又一核心特性——方法引用。 showImg(https://segmentfaul...
摘要:一表達(dá)式匿名內(nèi)部類最大的問(wèn)題在于其冗余的語(yǔ)法,比如前面的中五行代碼僅有一行是在執(zhí)行任務(wù)??偨Y(jié)基于詞法作用域的理念,表達(dá)式不可以掩蓋任何其所在上下文的局部變量。 轉(zhuǎn)載請(qǐng)注明出處:https://zhuanlan.zhihu.com/p/20540175 在介紹Lambda表達(dá)式之前,我們先來(lái)看只有單個(gè)方法的Interface(通常我們稱之為回調(diào)接口): public interface...
摘要:表達(dá)式體現(xiàn)了函數(shù)式編程的思想,即一個(gè)函數(shù)亦可以作為另一個(gè)函數(shù)參數(shù)和返回值,使用了函數(shù)作參數(shù)返回值的函數(shù)被稱為高階函數(shù)。對(duì)流對(duì)象進(jìn)行及早求值,返回值不在是一個(gè)對(duì)象。 Java8主要的改變是為集合框架增加了流的概念,提高了集合的抽象層次。相比于舊有框架直接操作數(shù)據(jù)的內(nèi)部處理方式,流+高階函數(shù)的外部處理方式對(duì)數(shù)據(jù)封裝更好。同時(shí)流的概念使得對(duì)并發(fā)編程支持更強(qiáng)。 在語(yǔ)法上Java8提供了Lamb...
閱讀 1754·2021-11-25 09:43
閱讀 2700·2019-08-30 15:53
閱讀 1852·2019-08-30 15:52
閱讀 2925·2019-08-29 13:56
閱讀 3350·2019-08-26 12:12
閱讀 596·2019-08-23 17:58
閱讀 2184·2019-08-23 16:59
閱讀 965·2019-08-23 16:21