真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java7簡化變參方法調(diào)用實例方法

這是所有修改里最簡單的一個,只是去掉了方法簽名中同時出現(xiàn)變參和泛型時才會出現(xiàn)的類型警告信息。

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括麗江網(wǎng)站建設(shè)、麗江網(wǎng)站制作、麗江網(wǎng)頁制作以及麗江網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,麗江網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到麗江省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

換句話說,除非你寫代碼時習(xí)慣使用類型為T的不定數(shù)量參數(shù),并且要用它們創(chuàng)建集合,否則你就可以進入下一節(jié)了。如果你想要寫下面這種代碼,那就繼續(xù)閱讀本節(jié):

public static  Collection doSomething(T... entries) {
 ...
}

還在?很好。這到底是怎么回事?

變參方法是指參數(shù)列表末尾是數(shù)量不定但類型相同的參數(shù)方法。但你可能還不知道變參方法是如何實現(xiàn)的?;旧?,所有出現(xiàn)在末尾的變參都會被放到一個數(shù)組中(由編譯器自動創(chuàng)建),并作為一個參數(shù)傳入。

這是個好主意,但是存在一個公認的Java泛型缺陷——不允許創(chuàng)建已知類型的泛型數(shù)組。比如下面這段代碼,編譯就無法通過:

HashMap[] arrayHm = new HashMap<>[2]; 

不可以創(chuàng)建特定泛型的數(shù)組,只能這樣寫:

HashMap[] warnHm = new HashMap[2];

可這樣編譯器會給出一個只能忽略的警告。你可以將warnHm的類型定義為HashMap數(shù)組,但不能創(chuàng)建這個類型的實例,所以你不得不硬著頭皮(或至少忘掉警告)硬生生地把原始類型(HashMap數(shù)組)的實例塞給warnHm。

這兩個特性(編譯時生成數(shù)組的變參方法和已知泛型數(shù)組不能是可實例化類型)碰到一起時,會令人有點頭疼??纯聪旅孢@段代碼:

HashMap hm1 = new HashMap<>();
HashMap hm2 = new HashMap
Collection> coll = doSomething(hm1,hm2);

編譯器會嘗試創(chuàng)建一個包含hm1和hm2的數(shù)組,但這種類型的數(shù)組應(yīng)該是被嚴格禁止使用的。面對這種進退兩難的局面,編譯器只好違心地創(chuàng)建一個本來不應(yīng)出現(xiàn)的泛型數(shù)組實例,但它又覺得自己不能保持沉默,所以還得嘟囔著警告你這是“未經(jīng)檢查或不安全的操作”。

從類型系統(tǒng)的角度看,這非常合理。但可憐的開發(fā)人員本想使用一個十分靠譜的API,一看到這些嚇人的警告,卻得不到任何解釋,不免會內(nèi)心忐忑。

以上就是本次介紹的全部知識點內(nèi)容,希望我們整理的內(nèi)容能夠幫助到大家。


分享文章:java7簡化變參方法調(diào)用實例方法
標題URL:http://www.weahome.cn/article/goeiop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部