之前章節(jié)中我們多次提到過泛型這個概念,從本節(jié)開始,我們就來詳細討論Java中的泛型,雖然泛型的基本思維和概念是比較簡單的,但它有一些非常令人費解的語法、細節(jié)、以及局限性,內(nèi)容比較多。

所以我們分為三節(jié),逐步來討論,本節(jié)我們主要來介紹泛型的基本概念和原理,下節(jié)我們重點討論令人費解的通配符,最后一節(jié),我們討論一些細節(jié)和泛型的局限性。

后續(xù)章節(jié)我們會介紹各種容器類,容器類可以說是日常程序開發(fā)中天天用到的,沒有容器類,難以想象能開發(fā)什么真正有用的程序。而容器類是基于泛型的,不理解泛型,我們就難以深刻理解容器類。那,泛型到底是什么呢?

什么是泛型?

之前我們一直強調(diào)數(shù)據(jù)類型的概念,Java有8種基本類型,可以定義類,類相當于自定義數(shù)據(jù)類型,類之間還可以有組合和繼承。不過,在第19節(jié),我們介紹了接口,其中提到,其實,很多時候,我們關(guān)心的不是類型,而是能力,針對接口和能力編程,不僅可以復(fù)用代碼,還可以降低耦合,提高靈活性。

泛型將接口的概念進一步延伸,"泛型"字面意思就是廣泛的類型,類、接口和方法代碼可以應(yīng)用于非常廣泛的類型,代碼與它們能夠操作的數(shù)據(jù)類型不再綁定在一起,同一套代碼,可以用于多種數(shù)據(jù)類型,這樣,不僅可以復(fù)用代碼,降低耦合,同時,還可以提高代碼的可讀性和安全性。

網(wǎng)友評論