這篇博客主要是用來復習一下java中的泛型。
1.沒有泛型的日子
在不知道數據的類型的前提之下,就進行數據類型的轉換,就會產生 類型轉換的異常。
2.泛型
JDK1.5之后出現了新的技術—泛型,此技術的最大的特點就是類中的屬性的類型可以又外部決定,而且在聲明類的時候應該采用如下的形式:
class 類名稱<泛型類型,泛型類型,…> {
}
定義數組不能使用泛型
使用泛型注意的兩個問題: (1)在構造方法上使用泛型 (2)如果在使用的時候沒有指定泛型,則表示擦除泛型。泛型一旦擦除之 后,將按照Object進行接收,以保證程序不會出現任何錯誤
3.通配符
問題: 參數化的類型不同,兩個對象不能相互賦值
Children<Object> c1=new Children<Object>();Children<Integer> c2=new Children<Integer>();c1=c2; //此時無法轉換“?”的意思表示接受任意的泛型類型,但是只是接收輸出,并不能修改。
4.泛型接口
泛型不光可以在類上使用,還可以在接口中進行定義。操作的語法如下:
interface 接口名稱<泛型類型,泛型類型,…>{}
5.泛型方法
泛型除了在類中定義之外,還可以在方法上定義,而且在方法上定義使用泛型,此方法所在的類不一定是泛型的操作類。
定義一個方法,實現任意類型數組中兩個位置值的調換
public static <T> T[]func(T[]array,int i,int j){ T temp=array[i]; array[i]=array[t]; array[t]=temp; return array;}Demo:
public class GenericDemo { public static void main(String args[]) { Children<Integer> children=new Children("小小白",3); Children <Float>children1=new Children("小小黑",1.6f); int age=(Integer) children.getAge(); System.out.新聞熱點
疑難解答