国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Lambda表達(dá)式第五版

這篇具有很好參考價(jià)值的文章主要介紹了Lambda表達(dá)式第五版。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1、為什么使用Lambda表達(dá)式

  • Lambda是一個(gè) 匿名函數(shù),我們可以把Lambda表達(dá)式理解為是 一段可以傳遞的代碼(將代碼像數(shù)據(jù)一樣進(jìn)行傳遞)。使用它可以寫出更簡(jiǎn)潔、更靈活的代碼。作為一種更緊湊的代碼風(fēng)格,是Java的語(yǔ)言表達(dá)式能力得到了提升。
package com.lambda;

import org.junit.Test;

import java.util.Comparator;

public class LambdaTest {


    @Test
    public void test1() {

//        Runnable runnable = new Runnable() {
//            @Override
//            public void run() {
//                System.out.println("Lambda表達(dá)式");
//            }
//        };
//
//        Thread thread = new Thread(runnable);
//        thread.start();

//        Runnable runnable = () -> System.out.println("Lambda表達(dá)式");
//
//        new Thread(runnable).start();

//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                System.out.println("Lambda表達(dá)式");
//            }
//        }).start();

        new Thread(() -> System.out.println("Lambda表達(dá)式")).start();
    }

    @Test
    public void test2() {

//        Comparator<Integer> com1 = new Comparator<>() {
//            @Override
//            public int compare(Integer o1, Integer o2) {
//                return Integer.compare(o1, o2);
//            }
//        };
//
//        int compare = com1.compare(12, 21);
//        System.out.println(compare);//-1

        Comparator<Integer> com2 = (o1, o2) -> Integer.compare(o1, o2);

        int compare = com2.compare(12, 21);
        System.out.println(compare);//-1
    }


}

2、Lambda表達(dá)式:語(yǔ)法

  • 在Java8語(yǔ)言中引入的一種新的語(yǔ)法元素和操作符。這個(gè)操作符為? “ ->? ” ,該操作符被稱為? Lambda操作符? 或? 箭頭操作符
  • 左側(cè):指定了Lambda表達(dá)式需要的 參數(shù)列表?,(其實(shí)就是接口中的抽象方法的形參列表)
  • 右側(cè):制定了 Lambda體 ,是抽象方法的實(shí)現(xiàn)邏輯,也即Lambda表達(dá)式要執(zhí)行的功能,(其實(shí)就是重寫的抽象方法的方法體)?

3、Lambda表達(dá)式的使用(分為6種情況介紹)?

3.1、Lambda接口中的抽象方法無(wú)參,無(wú)返回值

    @Test
    public void test1() {
        new Thread(() -> System.out.println("Lambda表達(dá)式")).start();
    }

3.2、Lambda需要一個(gè)參數(shù),但是沒(méi)有返回值

    @Test
    public void test2() {
//        new Consumer<String>() {
//            @Override
//            public void accept(String s) {
//                System.out.println(s);
//            }
//        }.accept("Lambda表達(dá)式");

//        Consumer<String> consumer = (String s) -> {
//            System.out.println(s);
//        };
//        consumer.accept("Lambda表達(dá)式");

        Consumer<String> consumer = (s) -> System.out.println(s);

        consumer.accept("Lambda表達(dá)式");
    }

3.3、數(shù)據(jù)類型可以省略,因?yàn)榭捎删幾g器推斷得出,稱為“類型推斷”

    @Test
    public void test3() {

        Consumer<String> consumer = (s) -> System.out.println(s);
        consumer.accept("Lambda表達(dá)式");
    }

3.4、Lambda若只需要一個(gè)參數(shù)時(shí),參數(shù)的小括號(hào)可以省略

    @Test
    public void test4() {

        Consumer<String> consumer = s -> System.out.println(s);
        consumer.accept("Lambda表達(dá)式");
    }

3.5、 Lambda需要兩個(gè)或以上的參數(shù),多條執(zhí)行語(yǔ)句,并且可以有返回值

    @Test
    public void test5() {
        Comparator<Integer> comparator = (o1, o2) -> {
            System.out.println(o1);
            System.out.println(o2);
            return o1.compareTo(o2);
        };

        System.out.println(comparator.compare(19, 12));//19  12  1
    }

3.6、當(dāng)Lambda體只有一條語(yǔ)句時(shí),return 與 大括號(hào)若有,都可以省略

    @Test
    public void test6() {

        Comparator<Integer> comparator = ((o1, o2) -> o1.compareTo(o2));
        System.out.println(comparator.compare(-12, -34));//1

        Consumer<String> consumer = s -> System.out.println(s);
        consumer.accept("Lambda表達(dá)式");//Lambda表達(dá)式
    }

4、Lambda表達(dá)式的本質(zhì)

  • 作為接口的實(shí)例

文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-692335.html

到了這里,關(guān)于Lambda表達(dá)式第五版的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java Lambda 表達(dá)式

    Java Lambda 表達(dá)式

    ??wei_shuo的個(gè)人主頁(yè) ??wei_shuo的學(xué)習(xí)社區(qū) ??Hello World ! Java Lambda 表達(dá)式是 Java 8 引入的一種函數(shù)式編程特性,它是一種輕量級(jí)的匿名函數(shù),允許我們將函數(shù)作為方法的參數(shù)進(jìn)行傳遞。Lambda 表達(dá)式可以理解為是一種簡(jiǎn)潔的方式來(lái)表示可傳遞的代碼塊,它可以替代傳統(tǒng)的匿名內(nèi)

    2024年02月08日
    瀏覽(34)
  • Lambda表達(dá)式(JAVA)

    Lambda表達(dá)式(JAVA)

    注:如果沒(méi)有學(xué)過(guò) 匿名內(nèi)部類 和 接口 不推薦往下看。 (parameters) - expression 或 (parameters) -{ statements; } parameters:表示參數(shù)列表; -:可理解為“被用于”的意思; expression:表示一條語(yǔ)句; statements:表示多條語(yǔ)句。 Lambda可以理解為:Lambda就是匿名內(nèi)部類的簡(jiǎn)化。 lambda表達(dá)式

    2024年02月08日
    瀏覽(28)
  • 【JAVA】包裝類、正則表達(dá)式、Arrays類、Lambda表達(dá)式

    包裝類是8種基本數(shù)據(jù)類型對(duì)應(yīng)的引用類型 作用:后期的集合和泛型不支持基本類型,只能使用包裝類 基本數(shù)據(jù)類型和其對(duì)應(yīng)的引用數(shù)據(jù)類型的變量可以互相賦值 基本數(shù)據(jù)類型 引用數(shù)據(jù)類型 byte Byte short Short int Integer long Long char Character float Float double Double boolean Boolean 包裝類

    2024年02月13日
    瀏覽(36)
  • java lambda表達(dá)式詳解

    java lambda表達(dá)式詳解

    我們知道,在Java中,接口是不能實(shí)例化的,但是接口對(duì)象可以指向它的實(shí)現(xiàn)類對(duì)象。如果接口連實(shí)現(xiàn)對(duì)象都沒(méi)有呢?那還可以使用匿名類的方式,如下: 復(fù)制 但是,使用匿名內(nèi)部的方式,代碼量其實(shí)并不是非常簡(jiǎn)潔,而為了使代碼更加的簡(jiǎn)潔,Java引進(jìn)了 Lambda 表達(dá)式的寫法,

    2024年02月03日
    瀏覽(34)
  • Java中的lambda表達(dá)式

    Java中的lambda表達(dá)式

    目錄 一、背景 二、lambada表達(dá)式的基本使用 三、變量捕獲 四、lambda在集合中的使用(map和set) 五、優(yōu)缺點(diǎn) 一、背景 (1)、lambda表達(dá)式的定義: (2)、lambda表達(dá)式的語(yǔ)法: (3)、函數(shù)式接口 二、lambada表達(dá)式的基本使用 (1)沒(méi)有使用lambda表達(dá)式,簡(jiǎn)單調(diào)用函數(shù)式接口展

    2024年02月08日
    瀏覽(23)
  • Java學(xué)習(xí)——lambda表達(dá)式

    Java學(xué)習(xí)——lambda表達(dá)式

    什么是Lambda表達(dá)式? 可以將Lambda表達(dá)式理解為一個(gè)匿名函數(shù); Lambda表達(dá)式允許將一個(gè)函數(shù)作為另外一個(gè)函數(shù)的參數(shù); 我們可以把 Lambda 表達(dá)式理解為是一段可以傳遞的代碼(將代碼作為實(shí)參),也可以理解為函數(shù)式編程, 將一個(gè)函數(shù)作為參數(shù)進(jìn)行傳遞 。 為什么要引入Lambda表

    2024年02月04日
    瀏覽(39)
  • Java新特性:Lambda表達(dá)式

    Java新特性:Lambda表達(dá)式

    Java新特性:Lambda表達(dá)式 Lambda 表達(dá)式(Lambda expression),也可稱為閉包(Closure),是 Java(SE)8 中一個(gè)重要的新特性。Lambda 表達(dá)式允許我們通過(guò)表達(dá)式來(lái)代替功能接口。Lambda 表達(dá)式就和方法一樣,它提供了一個(gè)正常的參數(shù)列表和一個(gè)使用這些參數(shù)的主體(body,可以是一個(gè)表

    2024年02月13日
    瀏覽(33)
  • Java 8 Lambda表達(dá)式詳解

    在Java 8中,引入了一種全新的函數(shù)編程概念,即Lambda表達(dá)式。這是一個(gè)重要的進(jìn)步,它讓Java的功能得以大幅擴(kuò)展,同時(shí)還讓代碼變得更加簡(jiǎn)潔明了。接下來(lái),我將詳細(xì)介紹Lambda表達(dá)式的相關(guān)知識(shí),包括其基本語(yǔ)法、使用場(chǎng)景和特性。 Lambda表達(dá)式基本的語(yǔ)法可以分為三個(gè)部分

    2024年02月08日
    瀏覽(48)
  • 淺談 Java 中的 Lambda 表達(dá)式

    淺談 Java 中的 Lambda 表達(dá)式

    更好的閱讀體驗(yàn) huge{color{red}{更好的閱讀體驗(yàn)}} 更好的閱讀體驗(yàn) Lambda 表達(dá)式是一種匿名函數(shù),它可以作為參數(shù)傳遞給方法或存儲(chǔ)在變量中。在 Java8 中,它和函數(shù)式接口一起,共同構(gòu)建了函數(shù)式編程的框架。 函數(shù)式編程是一種編程范式,也是一種思想。 它將計(jì)算視為函數(shù)求

    2024年02月11日
    瀏覽(38)
  • 【Java基礎(chǔ)】Java Lambda表達(dá)式詳解

    【Java基礎(chǔ)】Java Lambda表達(dá)式詳解

    Lambda 表達(dá)式,即函數(shù)式編程是 JDK8 的一個(gè)新特性,也被稱為閉包,Lambda表達(dá)式允許把函數(shù)作為一個(gè)方法的參數(shù),即行為參數(shù)化,函數(shù)作為參數(shù)傳遞進(jìn)方法中。 Lambda表達(dá)式可以取代大部分的匿名內(nèi)部類,寫出更優(yōu)雅的 Java 代碼,尤其在集合的遍歷和其他集合操作中,可以極大

    2024年02月04日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包