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

Java 8新特性 內(nèi)建函數(shù)式接口詳解

 更新時間:2016年12月03日 14:21:41   作者:MPPC  
這篇文章主要介紹了Java 8新特性 內(nèi)建函數(shù)式接口詳解的相關(guān)資料,這里主要介紹4個基本函數(shù)式接口,需要的朋友可以參考下

Java 8新特性內(nèi)建函數(shù)式接口

  在之前的一片博文 Lambda 表達(dá)式,提到過Java 8提供的函數(shù)式接口。在此文中,將介紹一下Java 8四個最基本的函數(shù)式接口

  對于方法的引用,嚴(yán)格來講都需要定義一個接口。不管我們?nèi)绾尾僮鲗?shí)際上有可能操作的接口只有四種。

  Java 8 提供了函數(shù)式接口包java.util.function.*,在該包下有許多Java 8內(nèi)建的函數(shù)式接口。不過基本上分為四種基本的:

功能型接口 (Function)

將 T 作為輸入,返回 R 作為輸出,他還包含了和其他函數(shù)組合的默認(rèn)方法。

@FunctionalInterface
public interface Function<T, R> {

  R apply(T t);

}
 

示例代碼

   
public static void main(String[] args) {
    
    // 這里用到了Java8的 方法引用,功能型函數(shù)式接口!
    Function<String,Boolean> function = "Hello Java" :: endsWith;
    System.out.println(function.apply("Java"));
}
 

 消費(fèi)型接口 (Consumer)  

 將 T 作為輸入,不返回任何內(nèi)容,表示在單個參數(shù)上的操作。

@FunctionalInterface
public interface Consumer<T> {

  void accept(T t);

}
 

示例代碼


class TestDemo{
  //此方法沒有返回值,但是有輸入?yún)?shù)
  public void fun(String str){
    System.out.println(str);
  }
}


public class TestFunctional {
  public static void main(String[] args) {
    TestDemo demo = new TestDemo();
    //消費(fèi)型接口,只有輸入?yún)?shù),沒有輸出參數(shù)
    Consumer<String> consumer = demo :: fun;
    consumer.accept("");

  }
}


供應(yīng)型接口 (Supplier)

 沒有輸入?yún)?shù),只有T返回輸出

@FunctionalInterface
public interface Supplier<T> {

  T get();

}

 示例代碼



public class TestFunctional {
  public static void main(String[] args) {

    //供應(yīng)商類型接口,只有輸出參數(shù),沒有輸入?yún)?shù)!
    Supplier<String> supplier = "java 8" :: toUpperCase;
    System.out.println(supplier.get());
  }
}

斷言型接口 (Predicate)

將 T 作為輸入,返回一個布爾值作為輸出,該接口包含多種默認(rèn)方法來將 Predicate 組合成其他復(fù)雜的邏輯(與、或、非)。

@FunctionalInterface
public interface Predicate<T> {

  boolean test(T t);

}
 

示例代碼

  public class TestFunctional {
  public static void main(String[] args) {
    
    //斷言類型接口。有輸入?yún)?shù),輸出參數(shù)為布爾值
    Predicate<String> predicate = "Android" :: equalsIgnoreCase;
    System.out.println(predicate.test("android"));
    
  }
}
   

  所以在Java 8中由于存在有以上的四個功能型接口,所以一般很少會由用戶去定義新的函數(shù)式接口!

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 利用Java寫一個學(xué)生管理系統(tǒng)

    利用Java寫一個學(xué)生管理系統(tǒng)

    今天這篇文章就給給大家分享利用Java寫一個學(xué)生管理系統(tǒng)吧,先寫一個簡單的用List來實(shí)現(xiàn)學(xué)生管理系統(tǒng):
    2021-09-09
  • webuploader 實(shí)現(xiàn)圖片批量上傳功能附實(shí)例代碼

    webuploader 實(shí)現(xiàn)圖片批量上傳功能附實(shí)例代碼

    這篇文章主要介紹了webuploader 實(shí)現(xiàn)圖片批量上傳功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-11-11
  • Java 泛型詳解與范例

    Java 泛型詳解與范例

    hello !大家好!今天的主題就是:泛型。在使用集合類時,大家就已經(jīng)接觸到泛型了,那就是每個集合類后面的尖括號<>,這樣一對尖括號,在java中就稱為泛型。那么泛型這一個點(diǎn),我們又該知道多少呢?我們往下看
    2021-11-11
  • java跳板執(zhí)行ssh命令方式

    java跳板執(zhí)行ssh命令方式

    本文分享了在Java中使用跳板機(jī)執(zhí)行SSH命令的方法,并推薦了一些Maven依賴,希望這些信息對大家有所幫助
    2024-12-12
  • Spring與MyBatis集成?AOP整合PageHelper插件的操作過程

    Spring與MyBatis集成?AOP整合PageHelper插件的操作過程

    Spring與MyBatis集成的主要目的是為了提供更強(qiáng)大的數(shù)據(jù)訪問和事務(wù)管理能力,以及簡化配置和提高開發(fā)效率,這篇文章主要介紹了Spring與MyBatis集成AOP整合PageHelper插件,需要的朋友可以參考下
    2023-08-08
  • 類添加注解@RequestMapping報錯HTTP Status 404的解決

    類添加注解@RequestMapping報錯HTTP Status 404的解決

    這篇文章主要介紹了類添加注解@RequestMapping報錯HTTP Status 404的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java權(quán)重隨機(jī)的實(shí)現(xiàn)方法

    Java權(quán)重隨機(jī)的實(shí)現(xiàn)方法

    這篇文章主要介紹了Java權(quán)重隨機(jī)的實(shí)現(xiàn)方法,實(shí)例分析了權(quán)重隨機(jī)算法的原理與完整實(shí)現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • SpringBoot+OCR?實(shí)現(xiàn)圖片文字識別

    SpringBoot+OCR?實(shí)現(xiàn)圖片文字識別

    本文主要介紹了SpringBoot+OCR 實(shí)現(xiàn)圖片文字識別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java騷操作之CountDownLatch代碼詳解

    Java騷操作之CountDownLatch代碼詳解

    這篇文章主要介紹了Java騷操作之CountDownLatch代碼詳解,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • MyBatis 三表外關(guān)聯(lián)查詢的實(shí)現(xiàn)(用戶、角色、權(quán)限)

    MyBatis 三表外關(guān)聯(lián)查詢的實(shí)現(xiàn)(用戶、角色、權(quán)限)

    這篇文章主要介紹了MyBatis 三表外關(guān)聯(lián)查詢的實(shí)現(xiàn)(用戶、角色、權(quán)限),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評論

东城区| 康保县| 印江| 铅山县| 龙胜| 厦门市| 东兴市| 疏附县| 武强县| 江都市| 珲春市| 安乡县| 黄梅县| 南澳县| 台州市| 辽阳市| 恭城| 马尔康县| 涪陵区| 申扎县| 柯坪县| 宁乡县| 衡阳市| 根河市| 平罗县| 衡南县| 乌兰浩特市| 清远市| 云霄县| 辽阳市| 洪江市| 阳曲县| 池州市| 彝良县| 寿光市| 吉林省| 光山县| 东光县| 靖安县| 武乡县| 聊城市|