java7鉆石語法知識(shí)點(diǎn)總結(jié)
針對(duì)創(chuàng)建泛型定義和實(shí)例太過繁瑣的問題,Java 7做了一項(xiàng)改進(jìn),以減少處理泛型時(shí)敲鍵盤的次數(shù)。比如你用userid(整型值)標(biāo)識(shí)一些user對(duì)象,每個(gè)user都對(duì)應(yīng)一個(gè)或多個(gè)查找表1。這用代碼應(yīng)該如何表示呢?
一種為提高處理速度而用查詢?nèi)〈?jì)算的處理機(jī)制。一般是將事先計(jì)算好的結(jié)果存在數(shù)組或映射中,然后在需要該結(jié)果時(shí)直接讀取,比如用三角表查某一角度的正弦值。——譯者注
Map<Integer, Map<String, String>> usersLists = new HashMap<Integer, Map<String, String>>();
這簡直太長了,并且?guī)缀跻话胱址际侵貜?fù)的。如果能寫成
Map<Integer, Map<String, String>> usersLists = new HashMap<>();
讓編譯器推斷出右側(cè)的類型信息是不是更好?神奇的Coin項(xiàng)目滿足了你這個(gè)心愿。在Java 7中,像這樣的聲明縮寫完全合法,還可以向后兼容,所以當(dāng)你需要處理以前的代碼時(shí),可以把過去比較繁瑣的聲明去掉,使用新的類型推斷語法,這樣可以省出點(diǎn)兒空間來。
編譯器為這個(gè)特性采用了新的類型推斷形式。它能推斷出表達(dá)式右側(cè)的正確類型,而不是僅僅替換成定義完整類型的文本。
為什么叫“鉆石語法”
把它稱為”鉆石語法”是因?yàn)檫@種類型信息看起來像鉆石。原來提案中的名字是“為泛型實(shí)例創(chuàng)建而做的類型推斷改進(jìn)”(Improved Type Inference for Generic Instance Creation)。這個(gè)名字太長,可縮寫ITIGIC聽上去又很傻,所以干脆就叫鉆石語法了。
新的鉆石語法肯定會(huì)讓你少寫些代碼。我們最后還要探討Coin項(xiàng)目中的一個(gè)特性——使用變參時(shí)的警告信息。
以上就是關(guān)于java7中鉆石語法的概念知識(shí)點(diǎn),希望我們整理的內(nèi)容能夠幫助到大家。
相關(guān)文章
Java數(shù)據(jù)結(jié)構(gòu)之堆(優(yōu)先隊(duì)列)的實(shí)現(xiàn)
堆(優(yōu)先隊(duì)列)是一種典型的數(shù)據(jù)結(jié)構(gòu),其形狀是一棵完全二叉樹,一般用于求解topk問題。本文將利用Java語言實(shí)現(xiàn)堆,感興趣的可以學(xué)習(xí)一下2022-05-05spring+srpingmvc+hibernate實(shí)現(xiàn)動(dòng)態(tài)ztree生成樹狀圖效果
這篇文章主要介紹了spring+srpingmvc+hibernate動(dòng)態(tài)ztree生成樹狀圖效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11java后端pageHelper分頁實(shí)現(xiàn)方法步驟
這篇文章主要給大家介紹了關(guān)于java后端pageHelper分頁實(shí)現(xiàn)方法的相關(guān)資料,在我們的Java項(xiàng)目中分頁是必不可少的數(shù)據(jù)展示頁面,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07SpringBoot靜態(tài)資源css,js,img配置方案
這篇文章主要介紹了SpringBoot靜態(tài)資源css,js,img配置方案,下文給大家分享了三種解決方案,需要的朋友可以參考下2017-07-07Java Web使用POI導(dǎo)出Excel的方法詳解
這篇文章主要介紹了Java Web使用POI導(dǎo)出Excel的方法,結(jié)合實(shí)例形式詳細(xì)分析了Java Web使用POI導(dǎo)出Excel的具體操作步驟、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-06-06