java 泛型方法

 

  • ​​​​​​​泛型方法​​​​​​​​​​​​​​

        ​​​​​​​如果泛型方法可以取代整個類泛型化,那麼就應該只使用泛型方法。

       對於一個static的方法而言,無法訪問泛型類的類型參數,所以如果static方法需要使用泛型能力,必須使其成爲泛型方法。

       定義泛型方法:

       只需要將泛型參數列表置於返回值之前

public<T> void f(T x){

 System.out.println(x.getClass().getName());

}



class Show<T> {
public void print1(T t) { System.out.println(t); }
public <T> void print2(T t) { System.out.println(t); }
}
public class A {
public static void main(String[] args) {
Show<String> show = new Show<String>();
show.print1(new Integer(1));// 不能編譯,因爲對象級別的泛性是String
show.print2(new Integer(1));// 可以編譯,因爲方法自己定義了泛型,覆蓋了對象的泛型,同時保證了後面的參數可以出現這種類型

 

<T> 與Class<T>
<T>是具體的一個對象。Class<T>是一個類
類似:T指圓  Class<T>指多邊形
//定義一個泛型方法,類型化參數,tClass 某一類
private <T> void setSpan(FontStyle fontStyle,boolean isSet,Class<T> tClass)

以上說明來着網絡,與書籍。

 

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