日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

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

來源: 責(zé)編: 時(shí)間:2023-12-25 09:35:35 254觀看
導(dǎo)讀Lambda表達(dá)式是 Java 8 中引入的最有影響力的功能之一。它們通過允許簡潔而優(yōu)雅地創(chuàng)建匿名函數(shù)來實(shí)現(xiàn) Java 中的函數(shù)式編程。在這篇博文中,我們將探討編寫 lambda 表達(dá)式的各種形式。概述lambda 表達(dá)式是可以具有參數(shù)

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

N8a28資訊網(wǎng)——每日最新資訊28at.com

概述

lambda 表達(dá)式是可以具有參數(shù)和主體的匿名函數(shù)。正文可以包含零行、一行或多行代碼,Lambda 表達(dá)式可以分配給類型為函數(shù)式接口(具有單個(gè)抽象方法的接口)的變量。N8a28資訊網(wǎng)——每日最新資訊28at.com

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

Java 中的Lambda 表達(dá)式 可以以各種形式編寫,具體取決于它們所實(shí)現(xiàn)的函數(shù)式接口的抽象方法的簽名。以下是編寫 lambda 表達(dá)式的一些不同方法:N8a28資訊網(wǎng)——每日最新資訊28at.com

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

如果抽象方法不帶參數(shù)且不返回值,則  可以使用空括號(hào)和主體編寫lambda 表達(dá)式:N8a28資訊網(wǎng)——每日最新資訊28at.com

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

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

如果抽象方法采用單個(gè)參數(shù),則可以省略參數(shù)周圍的括號(hào),并且可以推斷類型:N8a28資訊網(wǎng)——每日最新資訊28at.com

s -> System.out.println(s);
  1. 單參數(shù),帶類型聲明:
(String s) -> System.out.println(s);

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

如果抽象方法采用多個(gè)參數(shù),則必須在參數(shù)兩邊加上括號(hào)。類型可以推斷或顯式聲明:N8a28資訊網(wǎng)——每日最新資訊28at.com

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

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

如果 lambda 的主體由單個(gè)返回值的表達(dá)式組成,則可以直接編寫:N8a28資訊網(wǎng)——每日最新資訊28at.com

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

如果主體由多個(gè)語句組成,則必須包含大括號(hào)并使用 return 語句:N8a28資訊網(wǎng)——每日最新資訊28at.com

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

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

如果抽象方法不帶參數(shù)但有返回值,可以這樣寫:N8a28資訊網(wǎng)——每日最新資訊28at.com

() -> 42;

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

這是一個(gè)簡單的 Java 程序,演示了各種形式的 Lambda 表達(dá)式:N8a28資訊網(wǎng)——每日最新資訊28at.com

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    }}

輸出:N8a28資訊網(wǎng)——每日最新資訊28at.com

Hello, World!Single Parameter, No Type!Single Parameter with Type!15151542

結(jié)論

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

本文鏈接:http://www.www897cc.com/showinfo-26-53347-0.htmlJava Lambda 表達(dá)式各種用法,你都會(huì)了嗎

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 幾行代碼教你自動(dòng)操作 PPT

下一篇: C++函數(shù)模板詳解,輕松實(shí)現(xiàn)通用函數(shù)

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 收藏| 类乌齐县| 永春县| 五台县| 藁城市| 潜江市| 武隆县| 汉中市| 嘉义市| 墨脱县| 绍兴县| 怀安县| 宜宾县| 张北县| 潞城市| 澄城县| 分宜县| 德钦县| 鄂伦春自治旗| 磴口县| 平远县| 永平县| 九江市| 天门市| 台江县| 林甸县| 广昌县| 卢氏县| 凤阳县| 文登市| 大余县| 繁昌县| 元氏县| 简阳市| 武川县| 清河县| 奉化市| 盐山县| 望奎县| 宜黄县| 安阳县|