java泛型是對Java語言的類型系統(tǒng)的一種擴展,泛型的本質(zhì)就是將所操作的數(shù)據(jù)類型參數(shù)化。下面我會由淺入深地介紹Java的泛型。
一:泛型出現(xiàn)的背景
在java代碼里,你會經(jīng)常發(fā)現(xiàn)類似下邊的代碼:
public class Test { public static void main(String[] args) { List list = new ArrayList(); list.add("hah"); //list.add(new Test()); // list.add(1); for (Object object : list) { String s1 = (String)object; //.....如果是你你該如何拿出list的值,如果list中放著上邊的不同類型的東西。無解 } } }
編碼的時候,不加泛型是可以的,但是 你從容器中拿出來的時候必須強制類型轉(zhuǎn)換,第一是多敲很多代碼,第二極容易發(fā)生類型轉(zhuǎn)換錯誤,這個運行時異常 比如你把上邊
注釋的代碼放開,程序在獲取容器的地方就會報運行時異常 ClassCasrException
Java語言的設計者引入了泛型,暫時先不追究它內(nèi)在是怎么