成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java Lambda 表達(dá)式各種用法,你都會了嗎

開發(fā) 前端
Lambda 表達(dá)式是可以具有參數(shù)和主體的匿名函數(shù),在這篇文章中,我們將探討編寫 lambda 表達(dá)式的各種形式。

Lambda表達(dá)式是 Java 8 中引入的最有影響力的功能之一。它們通過允許簡潔而優(yōu)雅地創(chuàng)建匿名函數(shù)來實(shí)現(xiàn) Java 中的函數(shù)式編程。在這篇博文中,我們將探討編寫 lambda 表達(dá)式的各種形式。

概述

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

Lambda 表達(dá)式的各種編寫形式

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

1.無參數(shù),無返回值

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

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

2. 單參數(shù),無類型聲明

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

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

3.單參數(shù),帶類型聲明

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

4. 多個(gè)參數(shù)

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

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

5.有參數(shù)并且有返回值聲明

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

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

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

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

6.無參數(shù),返回值:

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

() -> 42;

示例:各種形式的 Lambda 表達(dá)式

這是一個(gè)簡單的 Java 程序,演示了各種形式的 Lambda 表達(dá)式:

package com.example.spring.demo;

public class LambdaExample {

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

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

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

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

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

        // 無參數(shù),但是有返回值
        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

結(jié)論

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

責(zé)任編輯:趙寧寧 來源: 架構(gòu)成長指南
相關(guān)推薦

2020-10-16 10:07:03

Lambda表達(dá)式Java8

2012-06-26 10:03:58

JavaJava 8lambda

2009-09-09 13:01:33

LINQ Lambda

2009-09-15 15:18:00

Linq Lambda

2022-12-05 09:31:51

接口lambda表達(dá)式

2009-09-11 09:48:27

Linq Lambda

2013-04-07 15:44:26

Java8Lambda

2009-08-27 09:44:59

C# Lambda表達(dá)

2009-09-15 17:30:00

Linq Lambda

2009-09-17 09:44:54

Linq Lambda

2009-09-17 10:40:22

Linq Lambda

2019-05-20 16:30:36

PythonMySQL存儲

2023-07-31 07:43:07

Java語言表達(dá)式變量

2013-04-07 10:04:03

Java8Lambda

2024-03-25 13:46:12

C#Lambda編程

2022-07-13 08:16:49

RocketMQRPC日志

2009-08-10 09:41:07

.NET Lambda

2009-09-09 17:14:17

Linq lambda

2013-04-10 10:58:19

LambdaC#

2009-08-27 09:57:50

C# Lambda表達(dá)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 天天干天天干 | 精品在线播放 | 成人三区| 九九亚洲 | 成人性视频免费网站 | 蜜桃视频成人 | 亚洲成人www | 久热m3u8| 成人欧美一区二区三区视频xxx | 中文字幕欧美日韩一区 | 九九热这里只有精品在线观看 | 人人看人人射 | 日韩欧美在线观看视频网站 | 精品亚洲视频在线 | 四色成人av永久网址 | 午夜免费福利电影 | 91看片视频 | 亚洲精品中文字幕在线观看 | 亚州综合在线 | gav成人免费播放视频 | 精品日韩在线观看 | 国产伦精品一区二区三区视频金莲 | 成人精品区| 久久国产日韩欧美 | 欧美一区二区三区在线免费观看 | 国产高清美女一级a毛片久久w | 欧美2区 | 久草中文网 | 欧美亚洲免费 | 日本一区二区三区四区 | 福利久久 | 亚洲电影第三页 | 视频二区| 国产精品99久久久久久www | 久久国产精品一区二区三区 | 欧美一级三级 | 农村真人裸体丰满少妇毛片 | 欧美福利 | 日韩精品一区二区三区中文字幕 | 一级欧美 | 欧美日韩精品一区二区天天拍 |