《Java JDK1.8新特性》---Lambda表達式

剛開始看到這個的時候,覺得這是啥啊?根本就不是java了嘛。不要學這個,我要寫正宗java代碼。看着就彆扭。真正接觸之後,真香!!!
下面的敘述都是個人理解,簡單表達。有錯誤的地方還請指正。

“->”的使用

1.沒有參數的使用方法

public static void main(String[] args) {

    Thread t1 = new Thread(new Runnable() {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getId());
        }
    });

    // () -> {} 簡直不要太方便,一句話搞定.
    Thread t2 = new Thread(() -> {
        System.out.println(Thread.currentThread().getId());
    });

    t1.start();
    t2.start();
}

運行結果:
運行結果

2.有參數的使用方法

x -> System.out.println(x)
(x) -> {System.out.println(x);}
上面兩種方法都是隻有一個參數的時候。多個也比較簡單。

(x, y) -> System.out.println(x + y)

注意如果有返回值,一句話的話可以直接是最後結果返回值。如果是代碼塊則需要帶有return返回對應類型

引用W3C

// 1. 不需要參數,返回值爲 5  
() -> 5  
  
// 2. 接收一個參數(數字類型),返回其2倍的值  
x -> 2 * x  
  
// 3. 接受2個參數(數字),並返回他們的差值  
(x, y) -> x – y  
  
// 4. 接收2個int型整數,返回他們的和  
(int x, int y) -> x + y  
  
// 5. 接受一個 string 對象,並在控制檯打印,不返回任何值(看起來像是返回void)  
(String s) -> System.out.print(s)
發佈了170 篇原創文章 · 獲贊 56 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章