日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Lambda表達式是 JAVA 8 中引入的最有影響力的功能之一。它們通過允許簡潔而優雅地創建匿名函數來實現 Java 中的函數式編程。在這篇博文中,我們將探討編寫 lambda 表達式的各種形式。

Java Lambda 表達式各種用法,你都會了嗎

概述

lambda 表達式是可以具有參數和主體的匿名函數。正文可以包含零行、一行或多行代碼,Lambda 表達式可以分配給類型為函數式接口(具有單個抽象方法的接口)的變量。

Lambda 表達式的各種編寫形式

Java 中的Lambda 表達式 可以以各種形式編寫,具體取決于它們所實現的函數式接口的抽象方法的簽名。以下是編寫 lambda 表達式的一些不同方法:

1.無參數,無返回值

如果抽象方法不帶參數且不返回值,則  可以使用空括號和主體編寫lambda 表達式:

() -> System.out.println("Hello, World!");

2. 單參數,無類型聲明

如果抽象方法采用單個參數,則可以省略參數周圍的括號,并且可以推斷類型:

s -> System.out.println(s);

3.單參數,帶類型聲明

(String s) -> System.out.println(s);

4. 多個參數

如果抽象方法采用多個參數,則必須在參數兩邊加上括號。類型可以推斷或顯式聲明:

(a, b) -> a + b;
(int a, int b) -> a + b;

5.有參數并且有返回值聲明

如果 lambda 的主體由單個返回值的表達式組成,則可以直接編寫:

(int a, int b) -> a + b;

如果主體由多個語句組成,則必須包含大括號并使用 return 語句:

(int a, int b) -> {
    int sum = a + b;
    return sum;
};

6.無參數,返回值:

如果抽象方法不帶參數但有返回值,可以這樣寫:

() -> 42;

示例:各種形式的 Lambda 表達式

這是一個簡單的 Java 程序,演示了各種形式的 Lambda 表達式:

package com.example.spring.demo;

public class LambdaExample {

    public static void mAIn(String[] args) {
        //無參數,無返回值:
        Runnable noParametersNoReturnValue = () -> System.out.println("Hello, World!");
        noParametersNoReturnValue.run(); // 輸出: Hello, World!

        //單參數,無類型聲明:
        java.util.function.Consumer<String> singleParameterNoType = s -> System.out.println(s);
        singleParameterNoType.accept("Single Parameter, No Type!"); // 輸出: Single Parameter, No Type!
        //單參數,帶類型聲明:
        java.util.function.Consumer<String> singleParameterWithType = (String s) -> System.out.println(s);
        singleParameterWithType.accept("Single Parameter with Type!"); // 輸出: Single Parameter with Type!

        //多個參數,無類型聲明
        java.util.function.BiFunction<Integer, Integer, Integer> multipleParametersTypeInferred = (a, b) -> a + b;
        System.out.println(multipleParametersTypeInferred.Apply(5, 10)); // 輸出: 15

        //多個參數,有類型聲明
        java.util.function.BiFunction<Integer, Integer, Integer> multipleParametersWithType = (Integer a, Integer b) -> a + b;
        System.out.println(multipleParametersWithType.apply(5, 10)); // 輸出: 15

        // 多個參數,并且多行實現
        java.util.function.BiFunction<Integer, Integer, Integer> multipleStatements = (a, b) -> {
            int sum = a + b;
            return sum;
        };
        System.out.println(multipleStatements.apply(5, 10)); // 輸出: 15

        // 無參數,但是有返回值
        java.util.function.Supplier<Integer> noParametersReturnValue = () -> 42;
        System.out.println(noParametersReturnValue.get()); // 輸出: 42
    }
}

輸出:

Hello, World!
Single Parameter, No Type!
Single Parameter with Type!
15
15
15
42

結論

lambda表達式的形式,具體取決于參數的數量和類型、是否包含顯式類型聲明以及主體是由單個表達式還是多個語句組成,Java 中Lambda 表達式的靈活性,使我們能夠編寫簡潔且富有表現力的代碼。

分享到:
標簽:Java
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定