首頁 >Java >java教程 >java為什麼要用範(泛)型?

java為什麼要用範(泛)型?

little bottle
little bottle原創
2019-05-29 11:53:083502瀏覽

啥是泛型?泛型(generic)是指參數化類型的能力。可以定義帶有泛型類型的類別或方法,隨後編譯器會用具體的類型來取代它。

java為什麼要用範(泛)型?

使用泛型的優點

Java語言引入泛型的好處是安全且簡單。泛型的好處是在編譯的時候檢查型別安全,並且所有的強制轉換都是自動和隱式的,提高程式碼的重用率。

詳細的說:

1、型別安全。  

泛型的主要目標是提高 Java 程式的型別安全性。透過知道使用泛型定義的變數的類型限制,編譯器可以在一個高得多的程度上驗證類型假設。沒有泛型,這些假設就只存在於程式設計師的腦海中(或者如果幸運的話,還存在於程式碼註解中)。

2、消除強制型別轉換。

泛型的一個附帶好處是,消除原始程式碼中的許多強制型別轉換。這使得程式碼更加可讀,並且減少了出錯機會。

3、潛在的績效效益。

 泛型為較大的最佳化帶來可能。在泛型的初始實作中,編譯器將強制型別轉換(沒有泛型的話,程式設計師會指定這些強制型別轉換)插入產生的字節碼。但是更多類型資訊可用於編譯器這一事實,為未來版本的 JVM 的最佳化帶來可能。由於泛型的實作方式,支援泛型(幾乎)不需要 JVM 或類別文件變更。所有工作都在編譯器中完成,編譯器產生類似於沒有泛型(和強制型別轉換)時所寫的程式碼,只是更能確保型別安全而已。

使用泛型的一些規則與限制

1、泛型的型別參數只能是類別型別(包含自訂類別),不能是簡單型別。

2、同一種泛型可以對應多個版本(因為參數類型是不確定的),不同版本的泛型類別實例是不相容的。

3、泛型的型別參數可以有多個。

4、泛型的參數型別可以使用extends語句,例如。習慣上成為「有界類型」。

5、泛型的參數型別還可以是萬用字元型別。例如Class classType = Class.forName(Java.lang.String);

以上是java為什麼要用範(泛)型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn