泛型的作用:泛型實現了參數化類型,能編寫重用性更好的代碼。使用泛型時不需要指定具體的參數類型,由編譯器指定參數類型值。
- 在類中使用泛型
class Automobile {}
public class Holder<T> {
private T a;
public Holder(T a) {
this.a = a;
}
public T get() {
return a;
}
public static void main(String[] args) {
//在創建Holder對象時必須指定具體的對象類型
Holder<Automobile> h = new Holder<Automobile>(new Automobile());
h.get();
}
}
- 在方法中使用泛型,原則上儘量使用泛型方法。尤其講static方法置爲泛型方法。
public class GenericMethods {
public <T> void f(T x) {
System.out.println(x.getClass().getName());
}
public static void main(String[] args) {
GenericMethods gm = new GenericMethods();
gm.f("");
gm.f(1);
gm.f(1.0);
gm.f(1.0F);
gm.f('c');
gm.f(true);
}
}
//輸出結果
java.lang.String
java.lang.Integer
java.lang.Double
java.lang.Float
java.lang.Character
java.lang.Boolean