標籤:
1:java泛型的好處是可以實作類別型檢查,比較安全,可以實現功能的擴充化,增強功能。
2:泛型的概念就是參數化類別型,相當於方法中的形式參數一樣,先做一個預留位置然後再在使用的時候傳遞真正的參數進去。
3:
package generic;/** * 自訂泛型類 * @author PC * */public class GenericModel <T>{ private T data; public GenericModel(){ } public GenericModel(T data){ this.data = data ; } public void setData(T data){ this.data = data; } public T getData(){ return this.data; }}
package generic;public class GenericTest { public static void main(String[]args){ GenericModel <String>genericModel = new GenericModel<String>(); genericModel.setData("11"); System.out.println("String data"+genericModel.getData()); GenericModel <Integer>genericModel1 = new GenericModel<Integer>(); genericModel1.setData(22); System.out.println("Integer data"+genericModel.getData()); /** * 發現以下兩者的輸出一樣,這說明在真正實現的時候,類只有一個類型,並沒有兩個不同類型的類 * 使用泛型類的時候,雖然傳了兩個型別參數,但是實際在記憶體中只有一個類型的參數 * 究其原因,在於Java中的泛型這一概念提出的目的, * 導致其只是作用於代碼編譯階段,在編譯過程中,對於正確檢驗泛型結果後,會將泛型的相關資訊擦出, * 也就是說, * 成功編譯過後的class檔案中是不包含任何泛型資訊的。泛型資訊不會進入到運行時階段。 * * * 泛型型別在邏輯上看以看成是多個不同的類型,實際上都是相同的基本類型。 * */ System.out.println(genericModel.getClass()); System.out.println(genericModel1.getClass()); }}
jdk學習之路---java泛型