国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Function相關接口簡介

gotham / 1254人閱讀

摘要:相關接口簡介什么是接口,它代表這樣的一個函數,接受一個參數,然后返回一個結果。參數和返回值相互轉化的個作為參數的和個作為返回值的相互組合去掉重復的嗯,又到種接口,,,,,。

Function相關接口簡介 什么是Function接口?

interface Function,它代表這樣的一個函數,接受一個參數,然后返回一個結果。

Function接口的functional方法
R apply(T t)

表示,接受一個類型為T的參數t,返回一個類型為R的結果。注意:

TR可以是同一種類型,當然也可以是不同的類型。

這里只接受一個參數。

那么問題來了,我有兩個、三個參數怎么辦?

什么是BiFunction接口?

interface BiFunction,從名字上大家應該就能推斷出來,它代表這樣的一個函數,接受兩個參數,然后返回一個結果。

BiFunction接口的functional方法
R apply(T t, U u);

表示,接受兩個參數t和u,類型分別為TU的,返回一個類型為R的結果。注意:

TUR可以是同一種類型,當然也可以是不同的類型。

這里只接受兩個參數。

現在咱們再來看上面的問題,三個參數的時候怎么辦?function包下并沒有這樣的接口,所以咯,自己動手豐衣足食:

  public interface TripleFunction {
          R apply(T t, U u, M m);
  }
更進一步

function包還很貼心地為我們提供了很多常用的functional接口,其中很大一部分就是和原始類型Primitive Type)有關的。一旦掌握了其中的規律,可以達到舉一反三、事半功倍的效果。下面就跟著彬哥一起來看看吧。

作為參數的原始類型來劃分

DoubleFunction,接受一個類型為double的參數,返回一個結果。

    @FunctionalInterface
    public interface DoubleFunction {
        R apply(double value);
    }

IntFunction,接受一個類型為int的參數,返回一個結果。

    @FunctionalInterface
    public interface IntFunction {
        R apply(int value);
    }

LongFunction,接受一個類型為long的參數,返回一個結果。

    @FunctionalInterface
    public interface LongFunction {
        R apply(long value);
    }

作為返回值的原始類型來劃分

ToDoubleFunction,接受一個參數,返回一個類型為double的結果。

    @FunctionalInterface
    public interface ToDoubleFunction {
        double applyAsDouble(T value);
    }

ToIntFunction,接受一個參數,返回一個類型為int的結果。

    @FunctionalInterface
    public interface ToIntFunction {
        int applyAsInt(T value);
    }

ToLongFunction,接受一個參數,返回一個類型為long的結果。

    @FunctionalInterface
    public interface ToLongFunction {
        long applyAsLong(T value);
    }

參數和返回值相互轉化的

3個作為參數的和3個作為返回值的相互組合、去掉重復的

嗯,又Get到6種functional接口:

DoubleToIntFunctionDoubleToLongFunctionIntToDoubleFunctionIntToLongFunctionLongToDoubleFunctionLongToIntFunction

再更進一步

剛剛咱們劃分出來的這個12個functional接口都是和Function相關的(一元),那function包有沒有給我們提供其他和BiFunction相關的functional接口呢?

當然有。

那咱們就來看看這些二元的functional接口吧。

ToDoubleBiFunction,接受兩個參數,返回一個類型為double的結果。

    @FunctionalInterface
    public interface ToDoubleBiFunction {
        double applyAsDouble(T t, U u);
    }

ToIntBiFunction,接受兩個參數,返回一個類型為int的結果。

    @FunctionalInterface
    public interface ToIntBiFunction {
        int applyAsInt(T t, U u);
    }

ToLongBiFunction,接受兩個參數,返回一個類型為long的結果。

    @FunctionalInterface
    public interface ToLongBiFunction {
        long applyAsLong(T t, U u);
    }

彬哥,這些只是作為返回值的接口,按照上面一元function的劃分,那作為參數相互轉化的二元接口呢?

那些啊,funciton包就并沒有提供了,一來不常用,二來啊,經過彬哥的介紹,相信你已經掌握規律了,很容易就寫出來了吧?那就作為課后作業如何?

小結

這一講,咱們主要介紹了Function相關的functional接口,按大的方面可以以一元二元來分類;再細分的話,可以按原始類型作為參數作為返回值參數返回值相互轉化的類別來劃分。

另外呀,可以用function包概述及大綱作為參考手冊來回顧和查詢。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/71857.html

相關文章

  • ES6 迭代器簡介

    摘要:簡單介紹下規范里面迭代器相關的概念。接口指定迭代器對象必須實現一個方法,如下示例偽代碼。方法是否接受參數,在規范中并不嚴格限定,取決于實現當前這個迭代器的對象。表示迭代終結,后續再調用當前迭代器的方法,返回的對象一律為。 簡單介紹下 ES6 規范里面迭代器(Iterator)相關的概念。最近為啥會看到迭代器,是因為看了 fetch 相關的 Headers 接口,為了實現下 Header...

    mingde 評論0 收藏0
  • 在區塊鏈上編程:DApp 開發簡介

    摘要:目前通常指代基于以太坊或者上的智能合約開發的相關應用。引入以太坊通過的交互流程大致如下總結隨著區塊鏈近些年的大紅大紫,被推上了風口浪尖,本文從技術的角度大致介紹了一下所涉及的技術要點。 當你開始探索區塊鏈開發,需要了解到這些。 showImg(https://segmentfault.com/img/remote/1460000016608233?w=1370&h=389); 一、DA...

    huangjinnan 評論0 收藏0
  • Web 安全漏洞 SSRF 簡介及解決方案

    摘要:本人非安全專業相關人士,了解不多,實在慚愧。工作原因,在所負責的內部服務中遭遇了的困擾,在此記錄一下學習過程及解決方案。,即服務端請求偽造,是一種由攻擊者構造形成由服務端發起請求的一個安全漏洞。通用的解決方案有過濾返回信息。 Update: 掘金評論區有同學提出通過域名獲取 IP 地址時可能遭遇攻擊,感謝提醒。本人非安全專業相關人士,了解不多,實在慚愧。 說到 Web 安全,我們前端...

    xiaodao 評論0 收藏0
  • JavaScript 簡介

    摘要:簡介原文鏈接簡稱是一種輕量級,解釋型的編程語言,其函數是一等公民。標準的目標是讓任何一種程序設計語言能操控使用任何一種標記語言編寫出的任何一份文檔。核心規定了如何映射基于的文檔結構,以便簡化對文檔的任意部分的訪問和操作。 JavaScript 簡介 原文鏈接 JavaScript ( 簡稱:JS ) 是一種 輕量級,解釋型 的編程語言,其函數是一等公民。眾所周知,它是用于網頁開發的腳...

    URLOS 評論0 收藏0
  • php 設計模式 之 interface 接口簡介

    摘要:須知與大多數抽象類一樣,也有抽象方法,不管不能和抽象類一樣在接口中包含具體的方法或變量做為抽象性的例外一般約定接口總以字母或者開頭接口中定義的所有方法都必須是,這是接口的特性實現多個接口時,接口中的方法不能有重名。否則會導致致命錯誤。 須知 與大多數抽象類一樣,interface 也有抽象方法,不管不能和抽象類一樣在接口中包含具體的方法或變量(做為抽象性的例外) 一般約定接口總以字...

    jsummer 評論0 收藏0

發表評論

0條評論

gotham

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<