一、泛型的作用意義
1.適用于多種數(shù)據(jù)類型執(zhí)行相同的代碼,用泛型機(jī)制編寫的代碼要比那些雜亂的使用Object變量,然后再進(jìn)行強(qiáng)制類型轉(zhuǎn)換的代碼具有更好的安全性和可讀性,也就是說使用泛型機(jī)制編寫的代碼可以被很多不同類型的對象所重用。
2. 泛型中的類型在使用時(shí)指定,不需要強(qiáng)制類型轉(zhuǎn)換(類型安全,編譯器會(huì)檢查類型)
二、用法
1.普通定義:訪問修飾符 [static][final] <類型參數(shù)列表> 返回值類型 方法名([形式參數(shù)列表]) 。
[] 代可有可無的意思,泛型方法可以是實(shí)例方法或靜態(tài)方法,類型參數(shù)可以在靜態(tài)方法中,這是與泛型類最大的區(qū)別。
2.泛型接口:interface 接口名<類型參數(shù)表>
例如: interface <T> T XXX(Class<T>) {};
三、通配符和自定義符
1.?和T都表示不確定的類型 但如果是T的話 函數(shù)里面可以對T進(jìn)行操作
2.在整個(gè)類中只有一處使用了泛型,使用時(shí)注意加了泛型了參數(shù)不能調(diào)用與參數(shù)類型有關(guān)的方法比如“+”,比如打印出任意參數(shù)化類型集合中的所有內(nèi)容,就適合用通配符泛型<?>
3. 當(dāng)一個(gè)類型變臉用來表達(dá)兩個(gè)參數(shù)之間或者參數(shù)與返回值之間的關(guān)系時(shí),即統(tǒng)一各類型變量在方法簽名的兩處被使用,或者類型變量在方法體代碼中也被使用而不僅 僅在簽名的時(shí)候使用,這是應(yīng)該用自定義泛型<T>。泛型方可以調(diào)用一些時(shí)間類型的方法。比如集合的add方法。







暫無評論,快來評論吧!