日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Java8 方法引用

發(fā)布時間:2024/8/23 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java8 方法引用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概述

方法引用是用來直接訪問類或?qū)嵗幥o存在的方法或者構(gòu)造方法.它需要由兼容的函數(shù)式接口(lambda表達式中用到的接口)構(gòu)成的目標類型上下文. 有時候, 當(dāng)我們想要實現(xiàn)一個函數(shù)式接口的方法, 但是已經(jīng)由類實現(xiàn)了我們想要的功能, 這時可以使用方法引用來直接使用現(xiàn)有的功能實現(xiàn).

關(guān)于lambda表達式可以看上一篇文章

當(dāng)lambda表達式只是執(zhí)行一個方法調(diào)用時, 直接通過方法引用的形式調(diào)用. 方法引用是一種更簡潔的lambda表達式.

方法引用是lambda表達式的簡寫, 提高了代碼可讀性. 可以看出來, 方法引用就是用已經(jīng)實現(xiàn)的方法來實現(xiàn)lambda表達式中的實現(xiàn), 所以引用的方法要滿足以下要求:

  • 引用的方法的參數(shù)列表必須與實現(xiàn)的抽象方法參數(shù)列表保持一致.
  • 使用

    因為方法引用是簡寫的lambda表達式, 所以類比即可.

    方法引用的語法為:

    類或?qū)ο竺?:方法名或new

    通過引用即可引用指定類或?qū)ο蟮闹付ǚ椒?/p>

    分類

    下面介紹以下幾種不同的方法引用.

    1.靜態(tài)方法引用

    顧名思義, 靜態(tài)方法引用就是引用類的靜態(tài)方法, 語法為:

    類名::靜態(tài)方法名

    方法引用與lambda表達式:

    String::valueOf 等價于 s -> String.valueOf(s); Math::pow 等價于 (x,y) -> Math.pow(x,y);

    ?

    2.實例方法引用

    顧名思義,實例方法引用就是引用對象實例的方法, 語法為:

    對象實例::方法名

    方法引用與lambda表達式:

    String str = "aaaaaaaaaaa"; // 若實例方法要通過對象來調(diào)用, 第一個參數(shù)會成為調(diào)用實例方法的對象, 后面的參數(shù)為調(diào)用方法的參數(shù) String::length 等價于lambda表達式 s -> s.length(); String::equals 等價于lambda表達式 (s1,s2) -> s1.equals(s2); // 若實例方法為this或super, 參數(shù)會成為調(diào)用方法的參數(shù) this::equals 等價于lambda表達式 s -> this.equals(s); super::equals 等價于lambda表達式 s -> super.equals(s);

    ?

    3.構(gòu)造方法引用

    顧名思義, 構(gòu)造方法引用就是引用類的構(gòu)造方法, 語法為:

    類名::new

    方法引用與lambda表達式:

    // 會根據(jù)參數(shù)尋找合適的構(gòu)造方法 String::new 等價于lambda表達式 s->new String(s);也等價于 ()->new String(); // 同時也可以創(chuàng)建數(shù)組 int[]::new 等價于lambda表達式 x->new int[x];

    ?


    關(guān)于方法引用的更多可以自己進行嘗試

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

    總結(jié)

    以上是生活随笔為你收集整理的Java8 方法引用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。