資源描述:
《jdk的主要特性》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、.jdk5.0的11個主要新特性收藏1泛型(Generic)1.1說明增強了java的類型安全,可以在編譯期間對容器內(nèi)的對象進行類型檢查,在運行期不必進行類型的轉(zhuǎn)換。而在j2se5之前必須在運行期動態(tài)進行容器內(nèi)對象的檢查及轉(zhuǎn)換減少含糊的容器,可以定義什么類型的數(shù)據(jù)放入容器ArrayListlistOfIntegers;//isnewtothesyntaxIntegerintegerObject;listOfIntegers=newArrayList();/
2、/isnewtothesyntaxlistOfIntegers.add(newInteger(10));//只能是Integer類型integerObject=listOfIntegers.get(0);//取出對象不需要轉(zhuǎn)換1.2用法聲明及實例化泛型類:HashMaphm=newHashMap();file://不能使用原始類型GenListnList=newGenList();file://編譯錯誤J2SE5.0
3、目前不支持原始類型作為類型參數(shù)(typeparameter)定義泛型接口:publicinterfaceGenInterface{voidfunc(Tt);}定義泛型類:publicclassArrayList{...}publicclassGenMap{...}例1:publicclassMyListextendsLinkedList{publicvoidswap(inti,intj){Elementtemp=this.get(i);thi
4、s.set(i,this.get(j));this.set(j,temp);}publicstaticvoidmain(String[]args){MyListlist=newMyList();list.add("hi");list.add("andy");System.out.println(list.get(0)+""+list.get(1));list.swap(0,1);System.out.println(list.get(0)+""+list.get(1));}} 例
5、2:...publicclassGenList{privateT[]elements;privateintsize=0;privateintlength=0;publicGenList(intsize){elements=(T[])newObject[size];this.size=size;}publicTget(inti){if(i6、gth++]=e;}}泛型方法:publicclassTestGenerics{publicStringgetString(Tobj){file://實現(xiàn)了一個泛型方法returnobj.toString();}publicstaticvoidmain(String[]args){TestGenericst=newTestGenerics();Strings="Hello";Integeri=100;System.out.println(t.getString(s));System.out.println(
7、t.getString(i));}}1.3受限泛型受限泛型是指類型參數(shù)的取值范圍是受到限制的.extends關(guān)鍵字不僅僅可以用來聲明類的繼承關(guān)系,也可以用來聲明類型參數(shù)(typeparameter)的受限關(guān)系.例如,我們只需要一個存放數(shù)字的列表,包括整數(shù)(Long,Integer,Short),實數(shù)(Double,Float),不能用來存放其他類型,例如字符串(String),也就是說,要把類型參數(shù)T的取值泛型限制在Number極其子類中.在這種情況下,我們就可以使用extends關(guān)鍵字把類型參數(shù)(typepar
8、ameter)限制為數(shù)字示例publicclassLimited{publicstaticvoidmain(String[]args){Limitednumber;file://正確Limitedstr;file://編譯錯誤}...}1.4泛型與異常類型參數(shù)在catch塊中不允許出現(xiàn),但是能用在方法的th