java泛型的理解

泛型的作用:泛型實現了參數化類型,能編寫重用性更好的代碼。使用泛型時不需要指定具體的參數類型,由編譯器指定參數類型值。

  • 在類中使用泛型
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
 分析:f()方法會被無數次重載,也可以傳遞new GenericMethod()參數。該方法在傳入基本類型的參數時,
自動打包機制會將其包裝成相應的對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章