圖
隨意 java8 的出現(xiàn),java 開始逐步支持函數(shù)式編程问芬。這里想說一句我們做的工作是讓我們思維轉(zhuǎn)換為機(jī)器可以理解的代碼祥楣,機(jī)器不人類,人類也不是機(jī)器培廓,我們擅長的機(jī)器不一定擅長惹悄,反之亦然。面向?qū)ο缶幊虒τ谖覀兛赡芨美斫饧缒啤6瘮?shù)式編程可能更適合機(jī)器泣港。
四人幫的設(shè)計(jì)模式
這本書很經(jīng)典暂殖,流傳久遠(yuǎn)。雖然沒有讀過当纱,也早就聽過他大名呛每。在學(xué)習(xí)設(shè)計(jì)模式多少也受過他影響。不過隨著時代的變遷坡氯,我們需要對一些概念重新解釋和詮釋莉给。
圖
圖
在開始之前,我們看一看廉沮,變量賦值的幾種情況颓遏。第一個我們就不解釋了。第二個也應(yīng)該不難理解滞时。關(guān)鍵是第三個
圖
實(shí)現(xiàn)一個接口叁幢,這個接口只有一個方法需要實(shí)現(xiàn),而且這個方法接受一種類型作為參數(shù)坪稽,然后返回一個類型曼玩,這些特點(diǎn)很重要。接口上有注解 @FunctionInterface 作用告訴編譯器這是一個函數(shù)接口窒百。
lamb
函數(shù)也可以這樣寫黍判,這是當(dāng)下流行的寫法,不是因?yàn)槠淇雌饋砜岣萆遥匾瞧鋬?nèi)在機(jī)制顷帖。以后有機(jī)會也玩一玩 haskell。
圖
上面渤滞,在 java8 中我們可以通過::操作符來調(diào)用類的方法贬墩。構(gòu)造函數(shù)也是類的方法所以可以這么寫。
經(jīng)過一步一步地化簡妄呕,不是化簡陶舞,是演變變成這個模樣。今天的內(nèi)容如果理解好了绪励,你就會對函數(shù)式編程有些了解了肿孵。