JAVA泛型類(轉(zhuǎn))
泛型是JDK 5.0后出現(xiàn)新概念,泛型的本質(zhì)是參數(shù)化類型,也就是說(shuō)所操作的數(shù)據(jù)類型被指定為一個(gè)參數(shù)。這種參數(shù)類型可以用在類、接口和方法的創(chuàng)建中,分別稱為泛型類、泛型接口、泛型方法。
泛型類引入的好處不僅在于減少代碼量,還在于一提供了編譯時(shí)期數(shù)據(jù)類型的檢查功能,可以提前預(yù)知錯(cuò)誤的發(fā)生,增加代碼安全性,二是減少了強(qiáng)制類型轉(zhuǎn)換。下面定義一個(gè)泛型類
Example GenericFX.java
package org;
public class GenericFX<E>
{
private E fx;
public void setFX(E fx)
{
this.fx = fx;
}
public E getFX()
{
return fx;
}
}
在此例中,GenericFX類就是要定義的泛型類,類型變量E是泛型類的類型參數(shù),我們可以使用GenericFX<E>這樣的類型名來(lái)聲明一個(gè)泛型類。如
GenericFX<E> fx = new GenericFX<E>(),其中E就是具體的類型, 下面看一個(gè)應(yīng)用泛型類的例子.
Example GenericFXDemo.java
package org;
public class GenericFXDemo
{
public void main(String[] args)
{
GenericFX<Integer> f1 = new GenericFX<Integer>();
GenericFX<Boolean> f2 = new GenericFX<Boolean>();
f1.setFX(new Integer(10));
System.out.println(f1.getFX);//
f2.setFX(new Boolean(true));
System.out.println(f2.getFX);//
}
}
可以看到,f1,f2都是同一泛型類的對(duì)象引用,在取得不同參數(shù)類型對(duì)象時(shí),已不需要實(shí)行類型轉(zhuǎn)換.
如果像這樣修改一下代碼,
f1.setFX(new Integer(10));
Boolean b = f1.getFX();
System.out.println(b); 這里編譯就會(huì)報(bào)錯(cuò),告訴你這不安全.
posted on 2009-07-17 14:49 BlakeSu 閱讀(203) 評(píng)論(0) 編輯 收藏