java泛型是對(duì)Java語(yǔ)言的類(lèi)型系統(tǒng)的一種擴(kuò)展,泛型的本質(zhì)就是將所操作的數(shù)據(jù)類(lèi)型參數(shù)化。下面我會(huì)由淺入深地介紹Java的泛型。

一:泛型出現(xiàn)的背景

在java代碼里,你會(huì)經(jīng)常發(fā)現(xiàn)類(lèi)似下邊的代碼:

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xù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中放著上邊的不同類(lèi)型的東西。無(wú)解         }     } }

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

  編碼的時(shí)候,不加泛型是可以的,但是 你從容器中拿出來(lái)的時(shí)候必須強(qiáng)制類(lèi)型轉(zhuǎn)換,第一是多敲很多代碼,第二極容易發(fā)生類(lèi)型轉(zhuǎn)換錯(cuò)誤,這個(gè)運(yùn)行時(shí)異常 比如你把上邊

注釋的代碼放開(kāi),程序在獲取容器的地方就會(huì)報(bào)運(yùn)行時(shí)異常 ClassCasrException

Java語(yǔ)言的設(shè)計(jì)者引入了泛型,暫時(shí)先不追究它內(nèi)在是怎么