亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java?Lambda表達(dá)式語法及用法示例

 更新時間:2023年10月16日 10:32:26   作者:wei_shuo  
這篇文章主要給大家介紹了關(guān)于Java?Lambda表達(dá)式語法及用法的相關(guān)資料,lambda表達(dá)式是JAVA8中提供的一種新的特性,它支持Java也能進(jìn)行簡單的"函數(shù)式編程",文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

Java Lambda 表達(dá)式

Java Lambda 表達(dá)式是 Java 8 引入的一種函數(shù)式編程特性,它是一種輕量級的匿名函數(shù),允許我們將函數(shù)作為方法的參數(shù)進(jìn)行傳遞。Lambda 表達(dá)式可以理解為是一種簡潔的方式來表示可傳遞的代碼塊,它可以替代傳統(tǒng)的匿名內(nèi)部類,使得代碼更加簡潔、易讀和易維護(hù)

語法

  • parameters:表示 Lambda 表達(dá)式的參數(shù)列表,可以為空或包含一個或多個參數(shù)。
  • ->:箭頭符號,用于分隔參數(shù)列表和 Lambda 表達(dá)式的主體部分。
  • expression 或 { statements; }:表示 Lambda 表達(dá)式的主體部分。如果主體部分只有一條語句,則可以直接使用表達(dá)式,否則需要使用花括號 {} 將多條語句括起來
(parameters) -> expression
或
(parameters) ->{ statements; }

特性

  • **可選類型聲明:**不需要聲明參數(shù)類型,編譯器統(tǒng)一識別參數(shù)值
  • **可選的參數(shù)圓括號:**一個參數(shù)無需定義圓括號,但多個參數(shù)需要定義圓括號
  • **可選的大括號:**如果主體包含了一個語句,就不需要使用大括號
  • **可選的返回關(guān)鍵字:**如果主體只有一個表達(dá)式返回值則編譯器會自動返回值,大括號需要指定表達(dá)式返回了一個數(shù)值

Lambda 表達(dá)式

// 1. 不需要參數(shù),返回值為 5  
() -> 5  
  
// 2. 接收一個參數(shù)(數(shù)字類型),返回其2倍的值  
x -> 2 * x  
  
// 3. 接受2個參數(shù)(數(shù)字),并返回他們的差值  
(x, y) -> x – y  
  
// 4. 接收2個int型整數(shù),返回他們的和  
(int x, int y) -> x + y  
  
// 5. 接受一個 string 對象,并在控制臺打印,不返回任何值(看起來像是返回void)  
(String s) -> System.out.print(s)

變量作用域

Lambda 表達(dá)式可以訪問外部的局部變量,但是這些局部變量必須是 effectively final,即只能賦值一次的變量。如果在 Lambda 表達(dá)式中嘗試修改局部變量,編譯器會報錯。例如,Lambda 表達(dá)式中不能修改方法中的參數(shù)或在 Lambda 表達(dá)式外部的局部變量

public class VariableCaptureExample {
    public static void main(String[] args) {
        int x = 10;
        String message = "Hello";

        Runnable runnable = () -> {
            // 可以訪問外部局部變量 x 和 message
            System.out.println("x: " + x);
            System.out.println("Message: " + message);

            // 如果在 Lambda 表達(dá)式中嘗試修改 x 或 message,會導(dǎo)致編譯錯誤
            // x = 20; // 編譯錯誤
            // message = "Hi"; // 編譯錯誤
        };

        runnable.run();
    }
}

舉例

Lambda 表達(dá)式創(chuàng)建了一個新的線程,并將一個代碼塊傳遞給線程。這個代碼塊包含一個循環(huán),用于輸出從 1 到 10 的數(shù)字;使用 Lambda 表達(dá)式可以避免編寫繁瑣的匿名內(nèi)部類,使代碼更加簡潔和易讀

public class LambdaExample {
    public static void main(String[] args) {
        // 使用 Lambda 表達(dá)式創(chuàng)建一個線程
        new Thread(() -> {
            for (int i = 1; i <= 10; i++) {
                System.out.println("Count: " + i);
            }
        }).start();
    }
}

總結(jié) 

到此這篇關(guān)于Java Lambda表達(dá)式語法及用法的文章就介紹到這了,更多相關(guān)Java Lambda表達(dá)式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IntelliJ IDEA修改編碼的方法步驟

    IntelliJ IDEA修改編碼的方法步驟

    這篇文章主要介紹了IntelliJ IDEA修改編碼的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • springboot中用fastjson處理返回值為null的屬性值

    springboot中用fastjson處理返回值為null的屬性值

    在本篇文章里小編給大家整理的是一篇關(guān)于springboot中用fastjson處理返回值問題詳解內(nèi)容,需要的朋友們參考下。
    2020-03-03
  • Java排序算法總結(jié)之冒泡排序

    Java排序算法總結(jié)之冒泡排序

    這篇文章主要介紹了Java排序算法總結(jié)之冒泡排序,較為詳細(xì)的分析了冒泡排序的原理與java實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • Spring Boot運(yùn)行部署過程圖解

    Spring Boot運(yùn)行部署過程圖解

    這篇文章主要介紹了Spring Boot運(yùn)行部署過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • SpringBoot超詳細(xì)講解多數(shù)據(jù)源集成

    SpringBoot超詳細(xì)講解多數(shù)據(jù)源集成

    今天分享下SpringBoot多數(shù)據(jù)源集成,我怕麻煩,這里我覺得我的集成也應(yīng)該是最簡單的,清晰明了
    2022-05-05
  • Java?AQS中ReentrantLock條件鎖的使用

    Java?AQS中ReentrantLock條件鎖的使用

    ReentrantLock繼承了Lock接口,?lock方法實(shí)際上是調(diào)用了Sync的子類NonfairSync(非公平鎖)的lock方法。ReentrantLock的真正實(shí)現(xiàn)在他的兩個內(nèi)部類NonfairSync和FairSync中,默認(rèn)實(shí)現(xiàn)是非公平鎖
    2023-02-02
  • java 實(shí)現(xiàn)當(dāng)前時間加減30分鐘的時間代碼

    java 實(shí)現(xiàn)當(dāng)前時間加減30分鐘的時間代碼

    這篇文章主要介紹了java 實(shí)現(xiàn)當(dāng)前時間加減30分鐘的時間代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java操作ftp下載文件示例

    java操作ftp下載文件示例

    這篇文章主要介紹了java操作ftp下載文件的示例,需要的朋友可以參考下
    2014-02-02
  • JDBC連接MySQL并實(shí)現(xiàn)模糊查詢

    JDBC連接MySQL并實(shí)現(xiàn)模糊查詢

    本文詳細(xì)講解了JDBC連接MySQL并實(shí)現(xiàn)模糊查詢的方式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • Spring Cloud 2023 新特性支持同步網(wǎng)關(guān)

    Spring Cloud 2023 新特性支持同步網(wǎng)關(guān)

    這篇文章主要為大家介紹了Spring Cloud 2023 新特性支持同步網(wǎng)關(guān)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10

最新評論