實用 Java中的Lambda表達式

Java中的Lambda表達式

含義

lambda表達式 也可稱爲閉包 在Java8發佈
Lambda 允許把函數作爲一個方法的參數(函數作爲參數傳遞進方法中)。
使用 Lambda 表達式可以使代碼變的更加簡潔緊湊。

特徵

可選類型聲明 : 不需要聲明參數類型,編譯器可以統一識別參數值。
可選的參數圓括號 : 一個參數無需定義圓括號,但多個參數需要定義圓括號。
可選的大括號 : 如果主體只包含了一個語句,就不需要使用大括號。
可選的返回關鍵字 : 如果主體只有一個表達式返回值則編譯器會自動返回值,大括號需要指定明表達式返回了一個數值。

代碼

接口

接口必須是函數式接口 也就是隻有一個方法
interface Ren {
    void name(String name);
}

lambda表達式調用

 Ren ren = (String name) -> {
            System.out.println("我的名字是: " + name);
        };

簡化參數類型

 編譯器可以統一識別參數值
ren = (name) -> {
            System.out.println("我的名字是111: " + name);
        };

簡化小括號

只傳入一個參數 可以簡化小括號  
ren = name -> {
            System.out.println("我的名字是222: " + name);
        };

簡化花括號

要求是代碼只有一行 多行還是使用代碼塊
ren = name -> System.out.println("我的名字是333: " + name);
ren.name()

帶返回值 和 兩個參數

interface Fruit {
    int add(int a, int b);
}


public class ThreadTest05 {
    public static void main(String[] args) {
        Fruit fruit = (a, b) -> a + b;
        System.out.println(fruit.add(1, 2));
    }
}


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