1. 程式人生 > 程式設計 >java7鑽石語法知識點總結

java7鑽石語法知識點總結

針對建立泛型定義和例項太過繁瑣的問題,Java 7做了一項改進,以減少處理泛型時敲鍵盤的次數。比如你用userid(整型值)標識一些user物件,每個user都對應一個或多個查詢表1。這用程式碼應該如何表示呢?

一種為提高處理速度而用查詢取代計算的處理機制。一般是將事先計算好的結果存在陣列或對映中,然後在需要該結果時直接讀取,比如用三角表查某一角度的正弦值。——譯者注

Map<Integer,Map<String,String>> usersLists = 
    new HashMap<Integer,String>>(); 

這簡直太長了,並且幾乎一半字元都是重複的。如果能寫成

Map<Integer,String>> usersLists = new HashMap<>();

讓編譯器推斷出右側的型別資訊是不是更好?神奇的Coin專案滿足了你這個心願。在Java 7中,像這樣的宣告縮寫完全合法,還可以向後相容,所以當你需要處理以前的程式碼時,可以把過去比較繁瑣的宣告去掉,使用新的型別推斷語法,這樣可以省出點兒空間來。

編譯器為這個特性採用了新的型別推斷形式。它能推斷出表示式右側的正確型別,而不是僅僅替換成定義完整型別的文字。

為什麼叫“鑽石語法

把它稱為”鑽石語法”是因為這種型別資訊看起來像鑽石。原來提案中的名字是“為泛型例項建立而做的型別推斷改進”(Improved Type Inference for Generic Instance Creation)。這個名字太長,可縮寫ITIGIC聽上去又很傻,所以乾脆就叫鑽石語法了。

新的鑽石語法肯定會讓你少寫些程式碼。我們最後還要探討Coin專案中的一個特性——使用變參時的警告資訊。

以上就是關於java7中鑽石語法的概念知識點,希望我們整理的內容能夠幫助到大家。