1. 程式人生 > 其它 >javaSE筆記 泛型 + 型別萬用字元 + 可變引數

javaSE筆記 泛型 + 型別萬用字元 + 可變引數

泛型

泛型就是將型別由原來的具體的型別引數化,然後再使用/呼叫時傳入具體的型別,這種引數型別可以用在類、方法、介面中,即泛型類
泛型方法,泛型介面。
泛型定義格式:1.<型別>指定一種型別的格式,這裡的型別可以看成是形參
2.將來具體呼叫時候給定的型別可以看成是實參,並且是實參的型別只能是,引用資料型別
泛型的好處:1.可以將執行時報錯提前到編譯時報錯 2. 不需要再加強制型別轉換。 P250結合例子看

泛型類

範例:public class Generic { }
首先,它很像方法過載,而且只要寫一次,就能適應所有資料型別的引數,就很方便。

泛型方法

1.泛型類的改進
在類中的方法的引數也改成了泛型,不過好像要和泛型類的定義的泛型一致。。即方法中的T來自於類那邊的T
比如 public class Generic {
public void show(T t){
System.out.println(t);
}
}
2.泛型方法
格式:修飾符 <型別> 返回值型別 方法名(型別 變數名) { }


範例:public void show(T t) { }
想法就是在類的宣告中不寫泛型,直到方法中才寫T,即
public class Generic {
public void show(T t){
System.out.println(t);
}
}

泛型介面

格式:修飾符 interface 介面名<型別> {}
介面的使用仍然是需要以多型的形式,例子
public class GenericTmpl implements Generic {
@Override
public void show(T t){
System.out.println(t);
}
}

型別萬用字元

型別萬用字元 List:表示元素型別未知的List,它的元素可以匹配c任何的型別
List<?> list1 = new ArrayList