更新時間:2020-05-06 14:46:08 來源:動力節點 瀏覽2787次
Java8終于引進了lambda表達式,這標志著Java往函數式編程又邁進了一小步。
在Java8以前的代碼中,為了實現帶一個方法的接口,往往需要定義一個匿名類并復寫接口方法,代碼顯得很臃腫。比如常見的Comparator接口:
對于只有一個方法的接口,在Java8中,現在可以把它視為一個函數,用lambda表示式簡化如下:
Java8沒有引入新的關鍵字lambda,而是用()->{}這個奇怪的符號表示lambda函數。函數類型不需要申明,可以由接口的方法簽名自動推導出來,對于上面的lambda函數:
參數由Comparator<String>自動推導出String類型,返回值也必須符合接口的方法簽名。
實際上,lambda表達式最終也被編譯為一個實現類,不過語法上做了簡化。
對于Java自帶的標準庫里的大量單一方法接口,很多都已經標記為@FunctionalInterface,表明該接口可以作為函數使用。
以Runnable接口為例,很多時候干活的代碼還沒有定義class的代碼多,現在可以用lambda實現:
在未來的Java代碼中,會出現越來越多的()->{}表達式。
以上就是動力節點java培訓機構的小編針對“Java8新特性視頻,lambda表達式”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習