Java中Object與泛型的區(qū)別有哪些?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
成都創(chuàng)新互聯(lián)公司為企業(yè)級(jí)客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、重慶APP開發(fā)公司、微信小程序、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營(yíng)銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。
Object和泛型的兩點(diǎn)區(qū)別是:
Object范圍非常廣,而T從一開始就會(huì)限定這個(gè)類型(包括它可以限定類型為Object)。
Object由于它是所有類的父類,所以會(huì)強(qiáng)制類型轉(zhuǎn)換,而T從一開始在編碼時(shí)(注意是在寫代碼時(shí))就限定了某種具體類型,所以它不用強(qiáng)制類型轉(zhuǎn)換。(之所以要強(qiáng)調(diào)在寫代碼時(shí)是因?yàn)榉盒驮谔摂M機(jī)中會(huì)被JVM擦除掉它的具體類型信息,這點(diǎn)可參考泛型,在這里不做引申)。
比如在jdk中的List類是個(gè)泛型類。現(xiàn)在我們制定它的類型是Object。
List<Object> list = new ArrayList<Object>(); int i = 0; String s = "s"; list.add(i); list.add(s);
List本身是個(gè)泛型類,現(xiàn)在我們指定它接收Object類型的參數(shù),此時(shí)就可以放置任意類型的參數(shù)進(jìn)去,而在取出來是就必須得進(jìn)行強(qiáng)制類型轉(zhuǎn)換成具體的類型。
現(xiàn)在我們?nèi)绻麑ist指定接收String類型的參數(shù),那么這個(gè)List就只能放置String類型,且取出來時(shí)就不用進(jìn)行強(qiáng)制類型轉(zhuǎn)換。
這點(diǎn)給我們帶來的啟示是,在編寫類似List類的時(shí)候,一定要注意是否用泛型。一定要多寫幾個(gè)泛型類,多討論多理解,不然還是可能會(huì)攪在一起。
接著是?,這個(gè)可能在用到反射需要獲取Class類型時(shí)用到,它的解釋就是:接收一個(gè)不確定的類型,有點(diǎn)和Object一樣。我對(duì)它一個(gè)理解是,如果只用"?"那么它和Object是一樣的,但是"?"有比Object稍微“高級(jí)”有點(diǎn)的用法,就是它能縮小一個(gè)不確定的范圍,利用類似"? extends Test",這就意味著只接收接收Test類的繼承類,是不是比Object的范圍縮小了?
以上就是Object、T、?的區(qū)別。多寫幾行代碼,多做試驗(yàn),多討論,就知道在何時(shí)何地恰當(dāng)?shù)氖褂昧恕?/p>
看完上述內(nèi)容,你們掌握J(rèn)ava中Object與泛型的區(qū)別有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前名稱:Java中Object與泛型的區(qū)別有哪些
網(wǎng)站路徑:http://aaarwkj.com/article38/jegjsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、微信小程序、品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、電子商務(wù)、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)