<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java generic

    文檔

    java generic

    javageneric(泛型):一般類型,也可以為任何類型,泛型的本質是“參數化類型”,即所操作的數據類型被指定為一個參數,泛型是在JDK1.5中引入的特性。
    推薦度:
    導讀javageneric(泛型):一般類型,也可以為任何類型,泛型的本質是“參數化類型”,即所操作的數據類型被指定為一個參數,泛型是在JDK1.5中引入的特性。

    很多朋友都想知道java generic是什么?下面就一起來了解一下吧~

    java generic(泛型):一般類型,也可以為任何類型,泛型的本質是“參數化類型”,即所操作的數據類型被指定為一個參數,泛型是在JDK1.5中引入的特性。

    泛型提供了編譯時類型安全檢測機制,該機制允許程序員在編譯時檢測到非法的類型,而不是在運行時才出現錯誤。在實際編程中,會出現很多這樣的情況:同樣的方法,只是數據類型不同。現在如果想申明一個Box類,可以存放所有基本數據類型包裝類的對象,可以有以下寫法:

    public?class?Box?{
    ????private?Integer?object1;
    ????public?void?set(Integer?object1)?{?this.object1?=?object1;?}
    ????public?Integer?get()?{?return?object1;?}
    ????private?Double?object2;
    ????public?void?set(Double?object2)?{?this.object2?=?object2;?}
    ????public?Double?get()?{?return?object2;?}
    }

    這樣編程,會出現大量的冗余代碼,大家都知道Java中的所有類都繼承于Object類,根據“里式替換原則”,可以寫成這樣:

    public?class?Box?{
    ????private?Object?object;
    ????public?void?set(Object?object)?{?this.object?=?object;?}
    ????public?Object?get()?{?return?object;?}
    }

    既然申明了Object類型,意味著除了8個原始數據類型,還可以傳遞其他任意類型。如果set了一個Integer對象,get用作String類型,程序在運行時會報錯,但是卻能通過編譯的類型檢查,將上面的Box類改用泛型來實現就可以很好的解決這個問題。

    /**
    ?*?Generic?version?of?the?Box?class.
    ?*?@param??the?type?of?the?value?being?boxed
    ?*/
    public?class?Box?{
    ????//?T?stands?for?"Type"
    ????private?T?t;
    ????public?void?set(T?t)?{?this.t?=?t;?}
    ????public?T?get()?{?return?t;?}
    }
    public?static?void?main(String[]?args)?{
    ????Box?integerBox?=?new?Box();
    ????Box?stringBox?=?new?Box();
    ????integerBox.add(new?Integer(10));
    ????stringBox.add(new?String("泛型測試"));
    ????System.out.printf("整型值為?:%d\n\n",?integerBox.get());
    ????System.out.printf("字符串為?:%s\n",?stringBox.get());

    }使用泛型有的好處:編譯時強類型檢查、無需手動進行類型轉換、可以實現復用,編寫通用算法。

    以上就是小編今天的分享,希望可以幫到大家。

    文檔

    java generic

    javageneric(泛型):一般類型,也可以為任何類型,泛型的本質是“參數化類型”,即所操作的數據類型被指定為一個參數,泛型是在JDK1.5中引入的特性。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    java enterprise java environment java epoll java error java escape java event java exchange java execute 微信群怎么找 怎么導出微信聊天記錄 蘋果手機怎么恢復出廠設置 qq怎么清理緩存和垃圾清理 朋友圈怎么轉發 微信分組怎么刪除 兩個excel如何獨立顯示 excel怎么排序 計算機管理怎么打開 java jep java jetty java jit java enhancer java generator java future java encapsulation java empty java email java ehcache java echarts java formatter java ecc加密 java fork java foreach循環 java ear java flume java dynamic java dto java drools java flink java dowhile java flatmap
    Top 99精品国产成人a∨免费看| 日本精品久久久久久久久免费| 香蕉久久夜色精品国产尤物| 国产成人精品cao在线| 久九九精品免费视频| 国产麻豆一精品一AV一免费| 国产精品久久久精品三级| 亚洲精品电影在线| 精品久久久久久久| 日韩精品一区二区三区不卡| 国产高清精品入口91| 久久91精品国产91久久户| 午夜亚洲av永久无码精品| 国产亚洲精品bv在线观看| 日产精品一线二线三线芒果| 香蕉伊思人在线精品| 国产精品手机在线亚洲| 98视频精品全部国产| 99久久99久久久99精品齐| 久久99精品久久久久久齐齐| 国产精品无码制服丝袜| 精品福利一区二区三区| 大伊香蕉在线精品不卡视频 | 久久九九兔免费精品6| 亚洲伊人久久精品影院| 无码乱码观看精品久久| 香蕉久久精品国产| 国产精品久久久久久福利漫画| 久久国产三级精品| 国产乱人伦偷精品视频AAA| 国产久爱免费精品视频| 完整观看高清秒播国内外精品资源| 亚洲国产精品无码久久九九大片| 亚洲国产精品成人精品小说| 久久精品加勒比中文字幕| 日韩精品在线观看| 亚洲精品无码国产片| 国产精品久久波多野结衣| 亚洲精品亚洲人成在线麻豆| 午夜天堂精品久久久久| 久久精品福利视频|