黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Lambda表達(dá)式詳解

Lambda表達(dá)式詳解

更新時(shí)間:2022-04-19 08:45:05 來源:動(dòng)力節(jié)點(diǎn) 瀏覽943次

Java Lambda 表達(dá)式

Lambda 表達(dá)式是在 Java 8 新特性中添加的。

lambda 表達(dá)式是一小段代碼,它接受參數(shù)并返回一個(gè)值。Lambda 表達(dá)式類似于方法,但它們不需要名稱,并且可以直接在方法體中實(shí)現(xiàn)。

句法

最簡單的 lambda 表達(dá)式包含一個(gè)參數(shù)和一個(gè)表達(dá)式:

parameter -> expression

要使用多個(gè)參數(shù),請將它們括在括號中:

(parameter1, parameter2) -> expression

表達(dá)方式有限。它們必須立即返回一個(gè)值,并且它們不能包含變量、賦值或語句,例如ifor for。為了進(jìn)行更復(fù)雜的操作,可以使用帶有花括號的代碼塊。如果 lambda 表達(dá)式需要返回一個(gè)值,那么代碼塊應(yīng)該有一個(gè)return語句。

(parameter1, parameter2) -> { code block }

使用 Lambda 表達(dá)式

Lambda 表達(dá)式通常作為參數(shù)傳遞給函數(shù):

例子:

ArrayList在's方法中使用 lamba 表達(dá)式forEach()來打印列表中的每個(gè)項(xiàng)目:

import java.util.ArrayList;
public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(5);
    numbers.add(9);
    numbers.add(8);
    numbers.add(1);
    numbers.forEach( (n) -> { System.out.println(n); } );
  }
}

如果變量的類型是只有一個(gè)方法的接口,則 Lambda 表達(dá)式可以存儲在變量中。lambda 表達(dá)式應(yīng)具有與該方法相同數(shù)量的參數(shù)和相同的返回類型。Java 內(nèi)置了許多此類接口,例如列表使用的Consumer接口(在java.util包中找到)。

例子:

使用 Java 的Consumer接口將 lambda 表達(dá)式存儲在變量中:

import java.util.ArrayList;
import java.util.function.Consumer;
public class Main {
  public static void main(String[] args) {
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers.add(5);
    numbers.add(9);
    numbers.add(8);
    numbers.add(1);
    Consumer<Integer> method = (n) -> { System.out.println(n); };
    numbers.forEach( method );
  }
}

要在方法中使用 lambda 表達(dá)式,該方法應(yīng)該有一個(gè)參數(shù),其類型為單方法接口。調(diào)用接口的方法將運(yùn)行 lambda 表達(dá)式:

例子:

創(chuàng)建一個(gè)將 lambda 表達(dá)式作為參數(shù)的方法:

interface StringFunction {
  String run(String str);
} } } }
public class Main {
  public static void main(String[] args) {
    StringFunction exclaim = (s) -> s + "!";
    StringFunction ask = (s) -> s + "?";
    printFormatted("Hello", exclaim);
    printFormatted("Hello", ask); 
  public static void printFormatted(String str, StringFunction format) {
    String result = format.run(str);
    System.out.println(result);

 

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 激情丁香六月 | 久久免费香蕉视频 | 欧美黑人性色黄在线视频 | 日韩成人毛片高清视频免费看 | 日日摸夜夜添夜夜添人人爽 | 日本高清一区 | 午夜成人免费影院 | 久久第一页 | 国产高清美女一级a毛片久久 | 日韩v| 在线观看免费国产视频 | 黄色操视频 | 国产日韩精品一区二区在线观看 | 日本α级片 | 日韩三级观看 | 欧美日韩亚洲综合 | 在线中文字幕网站 | 亚洲日本1区2区3区二区 | 国产亚洲成在线播放va | 国产成人午夜极速观看 | 波多野结衣在线播放视频 | 国产精品成人观看视频免费 | 玖玖精品| 乱肉伦孕小说在线阅读 | 久久一级毛片 | 麻豆日韩国产精品欧美在线 | 成人黄色免费网址 | 免费观看亚洲视频 | 国产福利在线小视频 | 人人射人人插 | 亚洲男人影院 | 蜜臀国产在线 | 欧美成人免费全部色播 | 黄视频网站在线观看 | 波多野结衣一区二区三区在线观看 | 天堂网在线观看 | 国产综合久久久久 | 日本精品a在线观看 | 99九九精品视频 | 色在线免费视频 | 久久尹人香蕉国产免费天天 |