<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 国产午夜精品理论片免费观看| 国产精品入口在线看麻豆| 在线观看国产精品va| 久久九九AV免费精品| 亚洲精品成a人在线观看| 国产精品日韩欧美一区二区三区| 亚洲国产精品va在线播放| 国产精品hd免费观看| 国产精品第44页| 真实国产精品vr专区| 99国产精品热久久久久久| 最新精品亚洲成a人在线观看| 四虎成人精品无码永久在线| 亚洲精品国产第一综合99久久| 奇米影视7777久久精品| 国产国拍亚洲精品mv在线观看| 国产精品亚洲不卡一区二区三区| 国产精品漂亮美女在线观看| 精品日产a一卡2卡三卡4卡乱| 91免费福利精品国产| 亚洲国产精品久久久久网站| 国产亚洲精品一品区99热| 久久99精品久久久久久野外| 亚洲精品成人网久久久久久| 四虎影院国产精品| 日本五区在线不卡精品| 欧洲精品免费一区二区三区| 国产精品玖玖玖在线资源| 2018国产精华国产精品| 精品国产乱码久久久久久人妻| 99re热视频精品首页| 青青草原精品99久久精品66| 日韩精品人妻系列无码专区| 亚洲国产精品第一区二区| 久久99精品久久水蜜桃| 国产精品国产三级国产普通话| 精品久久一区二区| 久久99视频精品| 99久久免费精品视频| 91在线精品中文字幕| 精品日产卡一卡二卡国色天香|