API集合框架之泛型

2021-07-10 23:38:50 字數 800 閱讀 7251

什麼叫做泛型:

在jdk1.4之前,容器什麼型別的物件都可以儲存,但是在取出時,需要用到物件的特有內容時,需要金次那個向下轉型,但是物件型別不一致,導致了向下轉型出現classcastexception異常;

在jdk1.5之後解決了這個問題,在定義集合時,就直接明確集合中儲存元素的具體型別。這樣,編譯器在編譯時,就可以直接對集合中儲存的物件的型別進行檢查。

一旦發現型別不匹配,就編譯失敗,這種技術就叫做泛型技術。

泛型好處:

執行時期的問題轉移到了編譯時期,可以更好的讓程式設計師發現並解決問題。

避免了向下轉型的麻煩

總結:泛型是應用在編譯時期的一項安全機制。

泛型的擦除

編譯器通過泛型對元素的型別進行轉換,只要檢查通過,就會生成class檔案,但是在生成的class檔案中,就將泛型標識去掉了。

泛型的表現

泛型在集合框架中的應用的範圍很大,只要在類或介面在描述的時候右邊定義了<>,就需要泛型;

其實是容器在不確定操作型別元素的情況下,對外提供的乙個引數<>,使用容器時,只需要將具體的型別實參傳遞給該引數即可。

例如:

list

<

integer

>

list

=new arraylist<

integer

>();

集合框架 泛型集合

二 例項 目的 解決集合中存入資料時,自動轉換成object型別,而導致的儲存型別混亂現象。作用 規定某個集合只可以存放特定型別的物件。為什麼使用泛型 1 集合中的元素,可以是任意型別的物件 物件的引用 2 當把某個物件放入集合中時,物件的型別被忽略,被當做object處理。3 使用泛型後,編譯期間...

Java List Set Map 集合框架 泛型

set 介面 map 介面 list公用方法 booleanadd obj voidadd intx,obj intsize objectget intx booleancontains obj booleanremove obj objectremove intx linkedlist特殊方法 v...

泛型集合,非泛型集合

arraylist 非泛型集合 list 泛型集合 集合跟陣列比較我們更容易理解。陣列 1,長度固定2,資料型別預先宣告 集合 1,長度可變2,資料型別預先宣告的為泛型集合,資料型別不限定為非泛型 arraylist 長度不固定,元素資料型別為object的集合。object類之間或間接為所有類的父...