之前章節(jié)中我們多次提到過泛型這個(gè)概念,從本節(jié)開始,我們就來詳細(xì)討論Java中的泛型,雖然泛型的基本思維和概念是比較簡單的,但它有一些非常令人費(fèi)解的語法、細(xì)節(jié)、以及局限性,內(nèi)容比較多。
所以我們分為三節(jié),逐步來討論,本節(jié)我們主要來介紹泛型的基本概念和原理,下節(jié)我們重點(diǎn)討論令人費(fèi)解的通配符,最后一節(jié),我們討論一些細(xì)節(jié)和泛型的局限性。
后續(xù)章節(jié)我們會(huì)介紹各種容器類,容器類可以說是日常程序開發(fā)中天天用到的,沒有容器類,難以想象能開發(fā)什么真正有用的程序。而容器類是基于泛型的,不理解泛型,我們就難以深刻理解容器類。那,泛型到底是什么呢?
什么是泛型?
之前我們一直強(qiáng)調(diào)數(shù)據(jù)類型的概念,Java有8種基本類型,可以定義類,類相當(dāng)于自定義數(shù)據(jù)類型,類之間還可以有組合和繼承。不過,在第19節(jié),我們介紹了接口,其中提到,其實(shí),很多時(shí)候,我們關(guān)心的不是類型,而是能力,針對(duì)接口和能力編程,不僅可以復(fù)用代碼,還可以降低耦合,提高靈活性。
泛型將接口的概念進(jìn)一步延伸,"泛型"字面意思就是廣泛的類型,類、接口和方法代碼可以應(yīng)用于非常廣泛的類型,代碼與它們能夠操作的數(shù)據(jù)類型不再綁定在一起,同一套代碼,可以用于多種數(shù)據(jù)類型,這樣,不僅可以復(fù)用代碼,降低耦合,同時(shí),還可以提高代碼的可讀性和安全性。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26