1、泛型類可能有多個引數,此時應將多個引數一起放到尖括號內,比如:
2、泛型類的構造器如下:
public genericclass(){}
*錯誤示例:public genericclass(){}
3、例項化後,操作原來泛型位置的結構必須與指定的泛型型別一致。
4、泛型不同的引用不能互相賦值。
儘管在編譯時arraylist和arraylist是兩種型別,但是,在執行時只有乙個arraylist被載入到jvm中。
5、泛型如果不指定,將被擦除,泛型對應的型別均按照object處理,但不等價於object。
經驗:泛型要使用就一路都用。如果不用,就一路都不要用。
6、如果泛型結構是乙個介面或者抽象類,則不可建立泛型類的物件。
7、jdk1.7,泛型的簡化操作:
arraylistflist = new arraylist<>();
8、泛型的指定中不能使用基本資料型別,可以使用包裝類替換。
9、在類/介面上宣告的泛型,在本類或本介面中即代表某種型別,可以作為非靜態屬性的型別、非靜態方法的引數型別、非靜態方法的返回值型別。但在靜態方法中不能使用類的泛型。
10、異常類不能是泛型的。
11、不能使用new e。但是可以 e elements = (e)new object[capacity];
參考:arraylist原始碼中宣告:object elementdata,而非泛型引數型別陣列。
12、父類有泛型,之類可以選擇保留泛型也可以選擇指定泛型型別:
①沒有型別 擦除
②具體型別
之類保留父類的泛型:泛型子類
①全部保留
②部分保留
結論:子類必須是「富二代」,子類除了指定或保留父類的泛型,還可以增加自己的泛型。
泛型類,泛型方法,泛型介面
泛型,就是一種不確定的資料型別。如果在類後面加上 這個類就變成了泛型類。這個 t可以使用任意的字母代替。表示定義了一種不確定的資料型別,這種不確定的資料型別必須在使用這個類 比如建立物件 的時候才能確定下來。如果希望縮小泛型的範圍,延後泛型的確定時間,讓泛型在呼叫方法的時候確定,那麼我們可以使用泛型...
泛型 (2)泛型類 泛型方法 泛型介面
一 泛型類 定義person類 package cn.itcast.p2.bean public class person implements comparable public person string name,int age public int compareto person p ov...
Dart 中泛型 泛型方法 泛型類 泛型介面
泛型就是解決類 介面 方法的復用性以及對不特定資料的支援 void main 定義乙個泛型方法 t printdata t value running dart users zhoujian dartdemo demo.dart 2zhoujian done exited with code 0 i...