Java Lambda表達式

一、概述

  • Lambda 表達式,也可稱爲閉包,它是推動 Java 8 發佈的最重要新特性;
  • Lambda 允許把函數作爲一個方法的參數(函數作爲參數傳遞進方法中);
  • 能夠使用Lambda的依據是必須有相應的函數接口(函數接口,是指內部只有一個抽象方法的接口)。
  • 更多內容閱讀Java基礎(十六) 回調函數
// 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)

二、具體使用

語法一:()->{}

無參數時,直接這麼寫

Runnable run = () -> System.out.println("Hello World");// 1

有一個參數時,直接 參數名 -> {}

  View.OnClickListener listener = view -> System.out.println("button clicked");//2

有多個參數時,只需要在()裏寫上參數名字就可以

 View.OnFocusChangeListener listener = (view, b) -> {};

語法二:::(兩個英文冒號)

 RequestTask task1 = (args1, args2, args3) -> LambdaTest.getData(args1,args2,args3);
 RequestTask task2 = LambdaTest::getData;
 
person -> person.getAge();
Person::getAge

更多參考Java 8 Lambda 表達式

發佈了138 篇原創文章 · 獲贊 146 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章