Lambda表達式是Java 8一個非常重要的新特性。它像方法一樣,利用很簡單的語法來定義參數(shù)列表和方法體。目前Lambda表達式已經(jīng)成為高級編程語言的標配,像Python,Swift等都已經(jīng)支持Lambda表達式。
在Java 8的實現(xiàn)中,Lambda表達式其本質(zhì)只是一個“語法糖”,經(jīng)過編譯器推斷和處理,將其轉(zhuǎn)換包裝為常規(guī)的Java代碼,因此就像題目所寫的那樣,可以讓你的代碼更為簡潔。
Lambda表達式的基本語法:(parameters) -> expression 或 (parameters) -> { statements; }
Lambda表達式并不是一個方法,它可以用來定義了一個代碼塊,形式上很像是Java的匿名內(nèi)部類。Lambda表達式通常會賦值給一個函數(shù)式接口,函數(shù)式接口是指只有一個抽象方法的接口。Lambda表達式可以通過上下文環(huán)境來推斷變量類型, 因此在使用時盡量不人為明確的指定變量類型。
舉例來看,假設(shè)我們有一個List<String>類型的列表list,如果要遍歷并打印列表內(nèi)容,Java 7以前的代碼如下:
1 f