public void show(T t),void前面的泛型T是什么作用


public <T>這個T是個修飾符的功能,表示是個泛型方法,就像有static修飾的方法是個靜態方法一樣。

<T> 不是返回值,表示傳入參數有泛型

public static <T>list<T> aslist(T...a)  

第一個表示是泛型方法,第二個表示返回值是list類型,而這個list有泛型,只能存t類型的數據

泛型方法的使用示例:

 1 public <T> void fromArrayToCollection(T[] a, Collection<T> c){  
 2         for(T t : a){  
 3             c.add(t);  
 4         }  
 5     }  
 6   
 7   
 8 public void fromArrayToCollection(T[] a, Collection<T> c){  
 9         for(T t : a){  
10             c.add(t);  
11         }  
12     }  

第一個方法相當於為該方法聲明了一個類型為T的類,這個方法放到任意一個類中都不會報錯的。

第二個方法相當於沒有聲明類型為T的類,這時必須在類上面加上泛型T,不然這個方法會報錯的。

 1 package generic;
 2 
 3 /**
 4  * 泛型方法測試
 5  * 
 6  * @author caiyu
 7  * 
 8  */
 9 public class GenMethod {
10 
11     public static <T> void display(T t) {
12         System.out.println(t.getClass());
13     }
14 }

首先,泛型的聲明,必須在方法的修飾符(public,static,final,abstract等)之后,返回值聲明之前。

然后,和泛型類一樣,可以聲明多個泛型,用逗號隔開。

 

http://www.cnblogs.com/anrainie/archive/2012/03/09/2387272.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM