Lambda表達式

原載於利永貞網


Java lambda表達式是Java 8中引入的最新功能之一。Lambda表達式是Java進入函數式編程的第一步。
Lambda表達式是一個可以創建而不屬於任何類的函數。一個lambda表達式可以被傳遞,就好像它是一個對象並按需執行。

Lambda語法形式如下:

arguments - >body

參數可以是任意的

  • ()

  • 一個變量,如果該變量的類型可以從上下文中推斷出來

  • 括號中有或沒有類型的一系列變量

即如下形式演變

(params) -> expression
(params) -> statement
(params) -> { statements }

並且body可以是一個表達式或帶有語句的{...}塊。 表達式簡單地返回,即() - > 2相當於() - > {return 2;}

Lambda表達式可以簡化代碼

未使用Lambda

new Thread(new Runnable(){
    @Override
    public void run() {
       System.out.print("Before java 8");
    }
    
}).start();

使用Lambda後

new Thread(()->System.out.print("in java 8 lamdao expression")).start();

使用Lambda精減迭代

未使用Lambda

List<String> names=Arrays.asList("google","liyongzhen","baidu","0735it");
for(String s:names){
   System.out.println(s);
}

使用Lambda後

List<String> names=Arrays.asList("google","liyongzhen","baidu","0735it");
names.forEach(s->System.out.println(s));



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