java編譯器的泛型
導語:泛型以限定集合中的輸入類型,讓編譯器擋住源程序中的非法輸入。下面是相關介紹,歡迎參考!
**泛型是提供給javac編譯器使用的,可以限定集合中的輸入類型,讓編譯器擋住源程序中的非法輸入,
編譯器編譯帶類型説明的集合時會去除掉“類型”信息,使程序運行效率不受影響,
對於參數化的泛型類型,getClass()方法的返回值和原始類型完全一樣。
由於編譯生成的字節碼會去掉泛型的類型信息,只要能跳過編譯器,
就可以往某個泛型集合中加入其它類型的數據,例如,用反射得到集合,再調用其add方法即可。
**ArrayList類定義和ArrayList類引用中涉及如下術語:
整個稱為ArrayList泛型類型
ArrayList中的E稱為類型變量或類型參數
整個ArrayList稱為參數化的類型
ArrayList中的Integer稱為類型參數的實例或實際類型參數
ArrayList中的.<>念着typeof
ArrayList稱為原始類型
**參數化類型與原始類型的兼容性:
參數化類型可以引用一個原始類型的對象,編譯報告警告,
例如, Collection c = new Vector();//可不可以,不就是編譯器一句話的事嗎?
原始類型可以引用一個參數化類型的對象,編譯報告警告,
例如, Collection c = new Vector();//原來的方法接受一個集合參數,新的類型也要能傳進去
**參數化類型不考慮類型參數的繼承關係:
Vector v = new Vector
-
java環境變量設置path
導語:java的環境變量是怎麼設置的呢?以下小編為大家介紹java環境變量設置path文章,僅供參考!java環境變量設置path環境變量是一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如path,當要求系統運行一個程序而沒有告訴它程序所在的完整路...
-
Java程序設計示例教程
本文以實例形式詳細講述了Java的反射機制,是Java程序設計中重要的技巧。分享給大家供大家參考。具體分析如下:首先,Reflection是Java程序開發語言的特徵之一,它允許運行中的Java程序對自身進行檢查,或者説"自審",並能直接操作程序的內部屬性。例如,使用它能獲得Java類...
-
java中反射機制
導語:Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++裏難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。下面我們來看看java中反射機制,希望對大家有所幫助。Java中什麼是反射機制:(JavaReflactioninaction)Java反射...
-
講述java中enum的用法
本文實例講述了java中enum的用法。分享給大家供大家參考。具體分析如下:1.基本用法複製代碼代碼如下:enumDay{SUNDAY,MONDAY,TUESDAY,WENDSDAY,THURSDAY,FRIDAY,SATURDAY;}枚舉是常量,所以應該用大寫。2.枚舉是對象枚舉隱含地繼承了,所以它具有的.屬性和方法。遍...