Java培訓(xùn)教程:什么是泛型Java

Java培訓(xùn)教程:什么是泛型Java

深圳達內(nèi)教育      2022-03-23 06:40:01     12

Java培訓(xùn)教程:什么是泛型Java, System.Collections.Generic命名空間包含了范型集合需要的類和接口;  我們在寫程序的時候, 經(jīng)常需要這種東西: 可變長度的Arr

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

 


 

System.Collections.Generic命名空間包含了范型集合需要的類和接口;

  我們在寫程序的時候, 經(jīng)常需要這種東西: 可變長度的Array, 比如說一個string[]

  而事實上定義了一個string[]并初始化后那么它的長度就固定了, Array根本做不到. 如果非要實現(xiàn)這種功能,那唯一合理的辦法只有定義一個ArrayList, 這個類似于vector類型的東西可以實現(xiàn)可變長度的Array, 但是帶來幾個問題:

1. ArrayList里面操作的都是object類型, 這意味著如果我放一個string進去, 再當作int取出來, 這在編譯階段是不會出錯的, 而在運行時才會提示轉(zhuǎn)換無效

2. 以object方式存儲時, 需要裝箱和拆箱操作, 這些步驟會帶來額外的性能消耗 - 而沒法做到普通Array那樣直接

3. 如果要避免前兩個問題, 那么所有的需要強類型的集合類都需要分別定義, 比如XxxxCollection, 非常麻煩

  解決辦法:

Collection strCollection = new Collection();

strCollection.Add("a");strCollection.Add("b");.....

  這樣strCollection就是我們需要的集合. 范型使Add/Remove等操作全部都是類型安全的,以索引器訪問時也是類型安全的, 這在編譯階段(對于VS來說可以包括編寫代碼的階段)就可以反映出來.

  而性能方面, 這里根本就沒有裝箱/拆箱的操作, 所以比原有ArrayList方式性能更高. 也沒有像以前那樣聲明一個StringCollection之類的class, 代碼上也簡潔的多.

 

 

 范型的特點

  增加了編譯時的類型檢查;

  減少了裝箱和拆箱操作;

  減少了運行時的類型檢查;

Cast;

      以上就是深圳達內(nèi)教育Java培訓(xùn)機構(gòu)小編介紹的“Java培訓(xùn)教程:什么是泛型Java”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

       相關(guān)文章

零基礎(chǔ)怎么自學(xué)Java,完整版Java學(xué)習路線圖

你還在糾結(jié)學(xué)Java,是自學(xué)還是去培訓(xùn)班嗎

一個標準的Java程序員如何進階?

Java學(xué)習路線清單,快速進階Java

Java編程初學(xué)者要如何進階

 

Java培訓(xùn) Java培訓(xùn)教程 Java教程

培訓(xùn)啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹慎!任何要求預(yù)付定金、匯款等方式均存在風險,謹防上當。