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

專注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) 瀏覽1046次

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ù)文檔推薦 >>
主站蜘蛛池模板: 一区二区三区四区欧美 | 免费看一级黄色大片 | 在线精品小视频 | 日本黄色片三级 | avav网站| 五月天婷婷缴情五月免费观看 | 一个人看的视频www 一个人看的视频www免费 | 欧美最猛性xxxx69交 | 国内精品1区1区3区4区 | 美女羞羞视频网站 | 免费看欧美一级特黄a大片一 | 国产一国产一级毛片视频在线 | 黄色网点 | 综合在线播放 | 亚洲特一级毛片 | 曰批全过程免费视视频观看 | 午夜tv影院| 色男人的天堂久久综合 | 九九久久精品视频 | 国产精品视频免费的 | 日日干夜夜骑 | 亚洲永久视频 | 在线观看亚洲精品国产 | 一级片麻豆 | 国产一级特黄a大片免费 | 日韩欧美精品中文字幕 | 亚洲日本中文字幕 | 香港三级日本三级三级人妇 | 久久精品国产一区二区三区不卡 | 欧美日韩第一页 | 全黄性性激高免费视频 | 天天操天天爱天天干 | 关婷哪一级毛片高清免费看 | 欧美日韩在线观看视频 | 亚洲va精品中文字幕动漫 | 亚洲综合区小说区激情区噜噜 | 色天天综合| xx中文字幕乱偷avxx | 你懂的手机在线视频 | 国产精品美女视视频专区 | 午夜官网 |