最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

你真的會(huì)使用Java的方法引用嗎

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

前言

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

方法引用是什么?

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

  • 方法引用通過(guò)方法的名字來(lái)指向一個(gè)方法。
  • 方法引用可以使語(yǔ)言的構(gòu)造更緊湊簡(jiǎn)潔,減少冗余代碼。
  • 方法引用使用一對(duì)冒號(hào) :: 。

方法引用與Lambda表達(dá)式

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

類(lèi)型 方法引用 Lambda表達(dá)式
靜態(tài)方法引用 類(lèi)名::staticMethod (args) -> 類(lèi)名.staticMethod(args)
實(shí)例方法引用 inst::instMethod (args) -> inst.instMethod(args)
對(duì)象方法引用 類(lèi)名::instMethod (inst,args) -> 類(lèi)名.instMethod(args)
構(gòu)建方法引用 類(lèi)名::new (args) -> new 類(lèi)名(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)方法引用:它的語(yǔ)法是Class::static_method

dataInfoList.forEach(DataInfo::getDataInfo);

實(shí)例方法引用

特定對(duì)象的方法引用:它的語(yǔ)法是instance::method實(shí)例

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

對(duì)象方法引用

特定類(lèi)的任意對(duì)象的方法引用:它的語(yǔ)法是Class::method

 dataInfoList.forEach(DataInfo::getWelcomeInfo);

構(gòu)建方法引用

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

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

總結(jié)

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

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

相關(guān)文章

  • springboot X-Accel-Redirect 大文件下載實(shí)現(xiàn)

    springboot X-Accel-Redirect 大文件下載實(shí)現(xiàn)

    本文主要介紹了springboot X-Accel-Redirect 大文件下載實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • MyBatis-Plus邏輯刪除和字段自動(dòng)填充的實(shí)現(xiàn)

    MyBatis-Plus邏輯刪除和字段自動(dòng)填充的實(shí)現(xiàn)

    本文主要介紹了MyBatis-Plus邏輯刪除和字段自動(dòng)填充的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • java實(shí)現(xiàn)http請(qǐng)求工具類(lèi)示例

    java實(shí)現(xiàn)http請(qǐng)求工具類(lèi)示例

    這篇文章主要介紹了java實(shí)現(xiàn)http請(qǐng)求工具類(lèi)示例,需要的朋友可以參考下
    2014-05-05
  • Spring Security認(rèn)證機(jī)制源碼層探究

    Spring Security認(rèn)證機(jī)制源碼層探究

    SpringSecurity是基于Filter實(shí)現(xiàn)認(rèn)證和授權(quán),底層通過(guò)FilterChainProxy代理去調(diào)用各種Filter(Filter鏈),F(xiàn)ilter通過(guò)調(diào)用AuthenticationManager完成認(rèn)證 ,通過(guò)調(diào)用AccessDecisionManager完成授權(quán)
    2023-03-03
  • Java Stream流知識(shí)總結(jié)

    Java Stream流知識(shí)總結(jié)

    這篇文章主要介紹了Java Stream流的相關(guān)知識(shí),文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 從?JVM?中深入探究?Synchronized作用及原理

    從?JVM?中深入探究?Synchronized作用及原理

    這篇文章主要為大家介紹了從?JVM?中深入探究?Synchronized作用及原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 淺談JSON的數(shù)據(jù)交換、緩存問(wèn)題和同步問(wèn)題

    淺談JSON的數(shù)據(jù)交換、緩存問(wèn)題和同步問(wèn)題

    這篇文章主要介紹了淺談JSON的數(shù)據(jù)交換、緩存問(wèn)題和同步問(wèn)題,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • 學(xué)習(xí)Java正則表達(dá)式(匹配、替換、查找)

    學(xué)習(xí)Java正則表達(dá)式(匹配、替換、查找)

    這篇文章主要介紹了Java正則表達(dá)式的匹配、替換、查找和切割等操作,對(duì)于正則表達(dá)式的匹配、替換大家已經(jīng)不陌生了吧
    2015-12-12
  • IDEA設(shè)置JVM運(yùn)行參數(shù)的方法步驟

    IDEA設(shè)置JVM運(yùn)行參數(shù)的方法步驟

    這篇文章主要介紹了IDEA設(shè)置JVM運(yùn)行參數(shù)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Java發(fā)送post方法詳解

    Java發(fā)送post方法詳解

    這篇文章主要介紹了Java發(fā)送post方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論

新兴县| 泰兴市| 平舆县| 襄垣县| 如东县| 长顺县| 永仁县| 朝阳区| 杭锦后旗| 安徽省| 蓬安县| 武陟县| 武穴市| 金湖县| 和林格尔县| 团风县| 抚远县| 清水河县| 阿尔山市| 永靖县| 怀化市| 应用必备| 桃园县| 桐梓县| 监利县| 丰镇市| 岳池县| 逊克县| 资阳市| 瑞昌市| 佛学| 马山县| 武清区| 永修县| 刚察县| 平南县| 洪洞县| 江陵县| 乌什县| 建平县| 卫辉市|