目錄
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:以上內容均爲我的理解。若有錯誤請留言糾正。