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