亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

一圖看懂Java泛型通配符

Sleepy / 1580人閱讀

摘要:根據(jù)上面這些原則,一個(gè)簡(jiǎn)單的例子如下,省略了和可以輸入任何及子類的對(duì)象能確定返回的對(duì)象一定是或父類的對(duì)象只能確定返回的對(duì)象一定是選擇限定通配符時(shí)的快速判斷方法參考

當(dāng)使用 的時(shí)候,表明未知類的繼承結(jié)構(gòu)處于 ObjectMyClass 之間,這時(shí)

編譯器只能確定任何返回該未知類型的方法,返回的變量都是 Object 的子類,所以返回的類型就確定為 Object,比如 getter 方法

使用該未知類型作為參數(shù)的方法,該參數(shù)一定是 MyClass 的父類,所以可以傳遞 MyClass 及其子類進(jìn)去,比如 setter 方法

而使用 的時(shí)候,未知類型一定是 MyClass 的子類,但向下延伸到無窮盡,無法判斷

所以返回未知類型的方法的返回類型有一個(gè)上界,就是 MyClass,即返回類型確定為 MyClass

但是使用未知類型的方法,因?yàn)橄蛳吕^承無限延伸,無法判斷下界,所以不能使用該方法,比如 setter(可以 set(null))

使用 的時(shí)候,可以當(dāng)作 ,即上界是 Object,可以使用 getter 方法,不可以使用 setter 方法。

根據(jù)上面這些原則,一個(gè)簡(jiǎn)單的例子如下:

@Data // lombok,省略了 getter 和 setter
class Holder{
    private T t;

    public  void testSetter(Holder holder, U u) {
        holder.setT(u); // 可以輸入任何 MyClass 及子類的對(duì)象
        holder.setT(null);
    }

    public  void testGetter1(Holder holder) {
        MyClass obj = holder.getT(); // 能確定返回的對(duì)象一定是 MyClass 或父類的對(duì)象
    }

    public void testGetter2(Holder holder) {
        Object obj = holder.getT(); // 只能確定返回的對(duì)象一定是 Object
    }
}

class MyClass{}

選擇限定通配符時(shí)的快速判斷方法:

get-put principle:
Use an extends wildcard when you only get values out of a structure, use a super wildcard when you only put values into a structure, and don"t use a wildcard when you do both.

參考:
https://www.ibm.com/developerworks/java/library/j-jtp07018/index.html

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/68547.html

相關(guān)文章

  • 【阿里云北京峰會(huì)】一圖看懂阿里云彈性裸金屬服務(wù)器如何幫助企業(yè)遷移上云

    長(zhǎng)按圖片識(shí)別二維碼,立即咨詢阿里云上云專家!

    import. 評(píng)論0 收藏0
  • CloudBest:科普 | 一圖看懂 5G 從哪來的

    摘要:一個(gè)人的氣質(zhì)里有走過的路讀過的書愛過的人又經(jīng)歷了哪些故事呢引子一部高清電影秒秒鐘就能下載下來遠(yuǎn)程游戲再也不會(huì)有卡頓和延遲的感覺了依托也出現(xiàn)了一系列的新東西,比如,車聯(lián)網(wǎng)自動(dòng)駕駛遠(yuǎn)程控制等等那從哪來的呢她經(jīng)歷了怎樣的故事才走到如今的樣子本期將一個(gè)人的氣質(zhì)里有走過的路、讀過的書、愛過的人5G 又經(jīng)歷了哪些故事呢?引子一部高清電影 秒秒鐘 就能下載下來遠(yuǎn)程游戲再也不會(huì)有卡頓和延遲的感覺了依托 5G...

    Tecode 評(píng)論0 收藏0
  • 追根溯源!圖看盡深度學(xué)習(xí)架構(gòu)譜系

    摘要:近幾年,深度學(xué)習(xí)高速發(fā)展,出現(xiàn)了大量的新模型與架構(gòu),以至于我們無法理清網(wǎng)絡(luò)類型之間的關(guān)系。是由深度學(xué)習(xí)先驅(qū)等人提出的新一代神經(jīng)網(wǎng)絡(luò)形式,旨在修正反向傳播機(jī)制。當(dāng)多個(gè)預(yù)測(cè)一致時(shí)本論文使用動(dòng)態(tài)路由使預(yù)測(cè)一致,更高級(jí)別的將變得活躍。 近幾年,深度學(xué)習(xí)高速發(fā)展,出現(xiàn)了大量的新模型與架構(gòu),以至于我們無法理清網(wǎng)絡(luò)類型之間的關(guān)系。在這篇文章中,香港科技大學(xué)(HKUST)助理教授金成勳總結(jié)了深度網(wǎng)絡(luò)類型之間...

    tinylcy 評(píng)論0 收藏0
  • 一張腦圖看懂BUI Webapp移動(dòng)快速開發(fā)框架【下】--快速入門指引

    摘要:例如改成例如改成以上兩種開發(fā)方式都可以結(jié)合原生平臺(tái)打包成獨(dú)立應(yīng)用。 繼上一篇一張腦圖看懂BUI Webapp移動(dòng)快速開發(fā)框架【上】--框架與工具、資源 大綱 在線查看大綱 思路更佳清晰 1. 框架設(shè)計(jì) 框架介紹 簡(jiǎn)介 BUI 是用來快速構(gòu)建界面交互的UI交互框架, 專注webapp開發(fā), 開發(fā)者只需關(guān)注業(yè)務(wù)的開發(fā), 界面的布局及交互交給BUI, 開發(fā)出來的應(yīng)用, 可以嵌入平臺(tái) ( Li...

    hzx 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<