適用于多種數(shù)據(jù)類型執(zhí)行相同的代碼
如果沒(méi)有泛型,要實(shí)現(xiàn)不同類型的加法,每種類型都需要重載一個(gè)add方法;通過(guò)泛型,我們可以復(fù)用為一個(gè)方法:
泛型中的類型在使用時(shí)指定,不需要強(qiáng)制類型轉(zhuǎn)換(類型安全,編譯器會(huì)檢查類型)
看下這個(gè)例子:
我們?cè)谑褂蒙鲜鰈ist中,list中的元素都是Object類型(無(wú)法約束其中的類型),所以在取出集合元素時(shí)需要人為的強(qiáng)制類型轉(zhuǎn)化到具體的目標(biāo)類型,且很容易出現(xiàn)java.lang.ClassCastException異常。
引入泛型,它將提供類型的約束,提供編譯前的檢查: