java拓展----探祕Lambda 表達式

目錄

  1.關於Lambda表達式java

  2.java中的Lambda表達式的特性及語法格式express

  3.java中Lambda表達式的實現編程

  4.總結數組

1、關於Lambda表達式

  首先Lambda表達式並非只有java中才特有的表達式。其餘編程語言中一樣也擁有這個表達式。Lambda表達式可以使程序更簡潔。不一樣語言的Lambda表達式中定義的規範不一樣。具體須要看官方文檔的定義。閉包

 

2、java中的Lambda表達式的特性及語法格式

  1.java中的Lambda表達式的特性編程語言

    Lambda 表達式,也可稱爲閉包,它是推進 Java 8 發佈的最重要新特性。函數

    Lambda 容許把函數做爲一個方法的參數(函數做爲參數傳遞進方法中)。spa

    使用 Lambda 表達式可使代碼變的更加簡潔緊湊。線程

  2.Lambda表達式的語法格式code

    (parameters) -> expression

    或 (parameters) ->{ statements; }

 

3、java中Lambda表達式的實現

  java中若是要使用Lambda表達式的話,首先須要保證您的jdk版本號在1.8之上

  Lambda表達式的普通實現以下。

package com.demo.java8; public class Java8Ordinary{ public static void main(String args[]){ //建立一個 Lambda 表達式只能用一個藉口來接收
        Java8Interface j8i=(int a,int b)->{ System.out.println(a+b); }; Java8Ordinary j8o = new Java8Ordinary(); j8o.exec(1, 2, j8i); } //此方法用來調用接口中用Lambda表達式
    private void exec(int a,int b,Java8Interface j) { j.option(a, b); } } /** * 此接口用來接收Lambda表達式,接口中只能有一個抽象方法 * @author HYSong * */
interface Java8Interface{ void option(int a,int b); }

  利用Lambda表達式實現線程

package com.demo.java8; /** * Lumbda表達式能夠實現只有一個方法的接口。 * @author HYSong * */
public class Java8Thread { public static void main(String[] args) { new Thread(()->{ System.out.println("Thread is start"); }) .start(); } }

  利用Lambda表達式遍歷集合

package com.demo.java8; import java.util.Arrays; import java.util.List; public class Java8Array { public static void main(String[] args) { // 定義一個數組
            String[] atp = {"Ray", "Zake", "Danier", "Bob","Rose", "Lisa","Tom", "Joy"}; List<String> players = Arrays.asList(atp); // 使用 lambda 表達式以及函數操做(functional operation)
            players.forEach((player) -> System.out.print(player)); } }

4、總結

  雖說jdk的版本愈來愈高,可是咱們實際開發過程當中用獲得的仍是之前的版本。目前一些jdk新特性用到的不是很普及。Lambda模塊是jdk8的一個新特性,瞭解它能夠簡化咱們的代碼,方便代碼的閱讀。這對開發人員來講仍是有幫助的。總的來講,Lambda模塊定義比較模糊。實際開發中咱們能夠用Lambda表達式去實現一些只有一個抽象類的接口,這樣可以使代碼更加簡潔明瞭。

 

PS:以上內容均爲我的理解。若有錯誤請留言糾正。

相關文章
相關標籤/搜索