- 相關(guān)推薦
java編譯器的泛型
導(dǎo)語:泛型以限定集合中的輸入類型,讓編譯器擋住源程序中的非法輸入。下面是相關(guān)介紹,歡迎參考!
**泛型是提供給javac編譯器使用的,可以限定集合中的輸入類型,讓編譯器擋住源程序中的非法輸入,
編譯器編譯帶類型說明的集合時會去除掉“類型”信息,使程序運行效率不受影響,
對于參數(shù)化的泛型類型,getClass()方法的返回值和原始類型完全一樣。
由于編譯生成的字節(jié)碼會去掉泛型的類型信息,只要能跳過編譯器,
就可以往某個泛型集合中加入其它類型的數(shù)據(jù),例如,用反射得到集合,再調(diào)用其add方法即可。
**ArrayList類定義和ArrayList類引用中涉及如下術(shù)語:
整個稱為ArrayList泛型類型
ArrayList中的E稱為類型變量或類型參數(shù)
整個ArrayList稱為參數(shù)化的類型
ArrayList中的Integer稱為類型參數(shù)的實例或?qū)嶋H類型參數(shù)
ArrayList中的<>念著typeof
ArrayList稱為原始類型
**參數(shù)化類型與原始類型的兼容性:
參數(shù)化類型可以引用一個原始類型的對象,編譯報告警告,
例如, Collection c = new Vector();//可不可以,不就是編譯器一句話的事嗎?
原始類型可以引用一個參數(shù)化類型的對象,編譯報告警告,
例如, Collection c = new Vector();//原來的方法接受一個集合參數(shù),新的類型也要能傳進去
**參數(shù)化類型不考慮類型參數(shù)的繼承關(guān)系:
Vector v = new Vector
【java編譯器的泛型】相關(guān)文章:
講解Java的泛型07-13
java泛型方法10-22
java泛型方法推薦05-25
初步理解Java的泛型特性分享10-09
java布爾型介紹10-16
Java自定義范型的應(yīng)用技巧10-16
C語言編譯器gcc命令如何操作10-02
C語言編譯器gcc命令如何操作步驟10-23