java泛型的局限探究及知識點總結
泛型的簡介
1、為什么要使用泛型?
一般使用在集合上,比如現在把一個字符串類型的值放入到集合里面,這個時候,這個值放到集合之后,失去本身的類型,只能是object類型。這時,如果想要對這個值進行類型轉換,很容易出現類型轉換錯誤,怎么解決這個問題,可以使用泛型來解決。
2、在泛型里面寫是一個對象,String 不能寫基本的數據類型 比如int,要寫基本的數據類型對應的包裝類
基本數據類型 | 對應包裝類 | 基本數據類型 | 對應包裝類 |
byte | Byte | short | Short |
int | Integer | long | Long |
float | Float | double | Double |
char | Character | boolean | Boolean |
java泛型的局限探究
1、泛型類的靜態(tài)上下文中類型變量失效。
//靜態(tài)域或者方法里不能引用類型變量 private static T instance; //靜態(tài)方法 本身是泛型方法就行 private static <T> T getInstance(){ }
2、不能實例化類型變量。
// public Restrict() { // this.data = new T(); // }
3、不能用基本類型實例化泛型參數。
// NormalGeneric<double> normalGeneric = new NormalGeneric<>(); NormalGeneric<Double> normalGeneric = new NormalGeneric<>();
4、不能創(chuàng)建參數化類型的數組。
Restrict<Double>[] restrictArray; Restrict<Double>[] restricts = new Restrict<Double>[10];
到此這篇關于java泛型的局限探究及知識點總結的文章就介紹到這了,更多相關java泛型的局限探究內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
將RestTemplate的編碼格式改為UTF-8,防止亂碼問題
這篇文章主要介紹了將RestTemplate的編碼格式改為UTF-8,防止亂碼問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10SpringBoot整合Guava Cache實現全局緩存的示例代碼
這篇文章主要介紹了SpringBoot整合Guava Cache實現全局緩存,Guava Cache是Google Guava庫中的一個模塊,提供了基于內存的本地緩存實現,文中介紹了SpringBoot整合使用Guava Cache的具體步驟,需要的朋友可以參考下2024-03-03