泛型結構使用大全(泛型類 泛型介面)

2022-07-09 12:09:10 字數 908 閱讀 3568

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...