Java8實戰—Lambda表達式

目錄

序言

Java8實戰中關於Lambda表達式的學習筆記

Lambda管中窺豹

Lambda可以簡單的理解爲簡潔地表示可傳遞的匿名函數的一種方式:
它沒有名稱,但是有參數列表、函數主體、返回類型,可能還有一個可以拋出的異常列表。

採用先前方式寫一個比較器:

Comparator<Apple> byWeight = new Comparator<Apple>() {
            @Override
            public int compare(Apple o1, Apple o2) {
                return o1.getWeight().compareTo(o2.getWeight());
            }
        };

而採用Lambda表達式爲:

     Comparator<Apple> byweight = (Apple a1, Apple a2) -> a1.getWeight().compareTo(a2.getWeight());

這樣看起來,相對來說就比較清爽了。值得注意的是Lambda表達式沒有return語句,但是它默認已經隱含了return語句。如:

(String s) -> s.length() //具有一個String類型的參數並且返回了一個int類型
() -> void //表示空參數列表,且返回void的函數。

函數式接口

函數式接口就是隻定義一個抽象方法的接口
那麼用函數式接口可以幹什麼呢?Lambda表達式允許你用內聯的形式爲函數式接口的抽象類方法提供實現,並把整個表達式作爲函數式接口的實例。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章