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

你真的會使用Java的方法引用嗎

 更新時間:2021年08月06日 11:45:06   作者:小阿杰  
這篇文章主要給大家介紹了關(guān)于Java方法引用的相關(guān)資料,方法引用是Java8的新特性,方法引用其實也離不開Lambda表達式,本文通過示例代碼介紹的很詳細,需要的朋友可以參考下

前言

Java 8由Oracle公司于2014年3月18日發(fā)布,至今已過去數(shù)年之久。然而,直到今日仍有許多軟件開發(fā)者對其相關(guān)特性不了解,這可能主要是Java基礎(chǔ)教材更新緩慢的原因。Java 8 方法引用是Java 8的新特性,Java 8出來已經(jīng)很久了,相信很多伙伴都已經(jīng)在使用了,也有少部分不知道方法引用是怎么使用的,那么本文將帶領(lǐng)大家一起初始Java的方法引用。

方法引用是什么?

  方法引用是用來直接訪問類或者實例的已經(jīng)存在的方法或者構(gòu)造方法。方法引用提供了一種引用而不執(zhí)行方法的方式,它需要由兼容的函數(shù)式接口構(gòu)成的目標類型上下文。計算時,方法引用會創(chuàng)建函數(shù)式接口的一個實例。

  • 方法引用通過方法的名字來指向一個方法。
  • 方法引用可以使語言的構(gòu)造更緊湊簡潔,減少冗余代碼。
  • 方法引用使用一對冒號 :: 。

方法引用與Lambda表達式

Java 8 中我們可以通過 :: 關(guān)鍵字來訪問類的構(gòu)造方法,對象方法,靜態(tài)方法。

類型 方法引用 Lambda表達式
靜態(tài)方法引用 類名::staticMethod (args) -> 類名.staticMethod(args)
實例方法引用 inst::instMethod (args) -> inst.instMethod(args)
對象方法引用 類名::instMethod (inst,args) -> 類名.instMethod(args)
構(gòu)建方法引用 類名::new (args) -> new 類名(args)

方法引用的使用

為了更好的演示方法引用的使用方法,特引入了基礎(chǔ)代碼。

@Data
@ApiModel
class DataInfo{
    private String name;

    private String info;

    private String welcome;

    public static DataInfo create( Supplier<DataInfo> supplier) {
        return supplier.get();
    }

    public static void getDataInfo( DataInfo dataInfo) {
        System.out.println("DataInfo : " + dataInfo.toString());
    }

    public void getWebNameinfo( DataInfo dataInfo) {
        System.out.println(" WebName " + dataInfo.getName());
    }

    public void getWelcomeInfo() {
        System.out.println("welcome " + this.toString());
    }
}

靜態(tài)方法引用

靜態(tài)方法引用:它的語法是Class::static_method

dataInfoList.forEach(DataInfo::getDataInfo);

實例方法引用

特定對象的方法引用:它的語法是instance::method實例

dataInfoList.forEach( DataInfo.create( DataInfo::new )::getWebNameinfo );

對象方法引用

特定類的任意對象的方法引用:它的語法是Class::method

 dataInfoList.forEach(DataInfo::getWelcomeInfo);

構(gòu)建方法引用

構(gòu)造器引用:它的語法是Class::new。

DataInfo dataInfo = DataInfo.create(DataInfo::new);

總結(jié)

Java 8 中方法引用,使語言的構(gòu)造更緊湊簡潔,減少冗余代碼,讓程序員寫出高效率、干凈、簡潔的代碼。

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

相關(guān)文章

  • Java中Map的computeIfAbsent方法詳解

    Java中Map的computeIfAbsent方法詳解

    這篇文章主要介紹了Java的Map中computeIfAbsent方法詳解,在jdk1.8中Map接口新增了一個computeIfAbsent方法,這是Map接口中的默認實現(xiàn)該方法是首先判斷緩存Map中是否存在指定的key的值,如果不存在,會調(diào)用mappingFunction(key)計算key的value,需要的朋友可以參考下
    2023-11-11
  • IDEA maven項目中刷新依賴的兩種方法小結(jié)

    IDEA maven項目中刷新依賴的兩種方法小結(jié)

    這篇文章主要介紹了IDEA maven項目中刷新依賴的兩種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Google Guava 緩存工具使用詳解

    Google Guava 緩存工具使用詳解

    這篇文章主要介紹了Guava自加載緩存LoadingCache使用指南,通過這些內(nèi)容介紹,了解了LoadingCache的基本原理和用法,包括如何創(chuàng)建和配置緩存,以及如何結(jié)合Java?8的特性來優(yōu)化代碼,需要的朋友可以參考下
    2023-12-12
  • 淺談多線程_讓程序更高效的運行

    淺談多線程_讓程序更高效的運行

    下面小編就為大家?guī)硪黄獪\談多線程_讓程序更高效的運行。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 基于Comparator對象集合實現(xiàn)多個條件按照優(yōu)先級的比較

    基于Comparator對象集合實現(xiàn)多個條件按照優(yōu)先級的比較

    這篇文章主要介紹了基于Comparator對象集合實現(xiàn)多個條件按照優(yōu)先級的比較,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • JAVA統(tǒng)計字符串中某個字符出現(xiàn)次數(shù)的方法實現(xiàn)

    JAVA統(tǒng)計字符串中某個字符出現(xiàn)次數(shù)的方法實現(xiàn)

    本文主要介紹了JAVA統(tǒng)計字符串中某個字符出現(xiàn)次數(shù)的方法實現(xiàn),可以循環(huán)使用String的charAt(int index)函數(shù),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Springboot創(chuàng)建項目的圖文教程(idea版本)

    Springboot創(chuàng)建項目的圖文教程(idea版本)

    這篇文章主要介紹了Springboot創(chuàng)建項目的圖文教程(idea版本),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Spring5中SpringWebContext方法過時的解決方案

    Spring5中SpringWebContext方法過時的解決方案

    這篇文章主要介紹了Spring5中SpringWebContext方法過時的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java調(diào)用用戶芝麻信用分

    Java調(diào)用用戶芝麻信用分

    這篇文章主要為大家詳細介紹了Java調(diào)用用戶芝麻信用分,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 基于Spring Boot DevTools實現(xiàn)開發(fā)過程優(yōu)化

    基于Spring Boot DevTools實現(xiàn)開發(fā)過程優(yōu)化

    這篇文章主要介紹了基于Spring Boot DevTools實現(xiàn)開發(fā)過程優(yōu)化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09

最新評論