欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java Lambda表達(dá)式與引用類淺析

 更新時間:2023年01月29日 14:47:04   作者:-耿瑞-  
Lambda表達(dá)式是Java SE8中一個重要的新特性,允許通過表達(dá)式來代替功能接口。本文將通過一些簡單的示例和大家講講Lamda表達(dá)式的使用,感興趣的可以了解一下

Lambda表達(dá)式和方法引用是一對孿生兄弟

而引用類方法是Lambda支持的方法引用中的一種

引用類方法其實就是引用類的靜態(tài)方法

直接上代碼

首先 我們要創(chuàng)建一個包

包下創(chuàng)建一個接口 我這里叫subInterface

參考代碼如下

public interface subInterface {
    int convelutl(String s);
}

可以看到 我們在接口中定義了一個抽象方法 這個方法 接收一個字符串類型的參數(shù) 然后返回一個數(shù)字類型的值

然后在這個包下創(chuàng)建一個測試類 text

參考代碼如下

public class text {
    public static void main(String[] args) {
        numberFl((String s)->{
            return Integer.parseInt(s);
        });
    }
    public static void numberFl(subInterface sub){
        int min = sub.convelutl("666");
        System.out.println(min);
    }
}

這里可以看到 我們在Lambda中編寫 調(diào)用了Integer類中的parseInt方法將字符串轉(zhuǎn)成了數(shù)字類型并返回

運(yùn)行結(jié)果如下

但Lambda的簡化遠(yuǎn)不止如此

我們將測試類的main方法修改如下

public static void main(String[] args) {
  numberFl(s -> Integer.parseInt(s));
}

首先 他就一個參數(shù) 所以 參數(shù)類型 和 參數(shù)外面的小括號可以省列 然后 他只有一行代碼 所以 return 和 方法外面的大括號可以省列

但這其實 只是 Lambda的簡化 我們類方法的引用還沒開始呢

我們可以將main方法修改如下

public static void main(String[] args) {
    numberFl(Integer::parseInt);
}

因為我們 numberFl 拿到參數(shù) 其實也就是把參數(shù)給了里面的 Integer類的parseInt方法 然后返回 parseInt給出的返回值

這里 直接就接受了方法引用的推導(dǎo)即省列

numberFl的參數(shù) 全部直接給Integer類中的parseInt 然后將 parseInt的返回值返回 這一句話就都包括了

運(yùn)行結(jié)果如下

我們這里 利用了 Lambda 的原則 當(dāng)Lambda被類的靜態(tài)方法引用時 則 Lambda的參數(shù)全部傳給靜態(tài)方法

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

相關(guān)文章

  • Java Character類對單個字符操作原理解析

    Java Character類對單個字符操作原理解析

    這篇文章主要介紹了Java Character類對單個字符操作原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • idea中如何配置tomcat

    idea中如何配置tomcat

    這篇文章主要介紹了idea中如何配置tomcat問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java servlet執(zhí)行流程代碼實例

    Java servlet執(zhí)行流程代碼實例

    這篇文章主要介紹了Java servlet執(zhí)行流程代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Java泛型的類型擦除示例詳解

    Java泛型的類型擦除示例詳解

    Java泛型(Generic)的引入加強(qiáng)了參數(shù)類型的安全性,減少了類型的轉(zhuǎn)換,但有一點需要注意,Java 的泛型在編譯器有效,在運(yùn)行期被刪除,也就是說所有泛型參數(shù)類型在編譯后都會被清除掉,這篇文章主要給大家介紹了關(guān)于Java泛型的類型擦除的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • IDEA 使用mybatis插件Free Mybatis plugin的步驟(推薦)

    IDEA 使用mybatis插件Free Mybatis plugin的步驟(推薦)

    這篇文章主要介紹了IDEA 使用mybatis插件Free Mybatis plugin的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • IDEA 程序包不存在,找不到符號但是明明存在對應(yīng)的jar包(問題分析及解決方案)

    IDEA 程序包不存在,找不到符號但是明明存在對應(yīng)的jar包(問題分析及解決方案)

    這篇文章主要介紹了IDEA 程序包不存在,找不到符號但是明明存在對應(yīng)的jar包 的解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot線上環(huán)境徹底關(guān)閉Swagger-UI的方式

    SpringBoot線上環(huán)境徹底關(guān)閉Swagger-UI的方式

    這篇文章主要給大家介紹了SpringBoot線上環(huán)境徹底關(guān)閉Swagger-UI的方式,文中給出了詳細(xì)的代碼示例供大家參考,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • 一文教你學(xué)會如何使用MyBatisPlus

    一文教你學(xué)會如何使用MyBatisPlus

    本篇文章,我們通過 MyBatis Plus 來對一張表進(jìn)行 CRUD 操作,來看看是如何簡化我們開發(fā)的,文中通過代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • IDEA中request.getParameter爆紅問題及解決

    IDEA中request.getParameter爆紅問題及解決

    這篇文章主要介紹了IDEA中request.getParameter爆紅問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Java通過PropertyDescriptor反射調(diào)用set和get方法

    Java通過PropertyDescriptor反射調(diào)用set和get方法

    這篇文章主要為大家詳細(xì)介紹了Java通過PropertyDescriptor反射調(diào)用set和get方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論