關於在方法里面使用泛型public static T


對泛型的理解一直處於模糊的狀態,所以今天就專門看了看泛型,看到了如下的一段代碼,網上沒有找到相應的解釋。

 

然后嘗試着自己理解了一下,第一次寫博客,手比較生。

 

現在就開始來寫我的理解。

 

看到這個方法的第一眼,為啥返回值的類型是<T> T,而不是 T 呢,類型不就是泛型嗎?在網上找到個和我這個問題有點兒相似的,

http://wenda.jikexueyuan.com/question/3505/      大家可以點擊去看一下,提問者的問題是為什么返回值已經是void,還要在它的前面加上<T>,不加的話會報錯,然后我

就再次看了一下這個方法,它的入參是Class<T>  requiredType,也就是說這個方法需要傳入一個泛型類的參數,所以前面的<T> T中的<T>代表的是 返回值T的類型,也就是入參為class的時候,返回值類型的呃前面需要加一個<T> 來限定 后面泛型T的類型,告訴后面返回值T的類型是什么,返回值為void,也不能不寫<T>,因為需要和入參的類型保持一致。

不知道這樣解釋大家是否能懂,以后多鍛煉自己寫博客,和大家分享自己的學習心得。

 

 

public static <T> T getBean(Class<T> requiredType) {
   assertContextInjected();
   return applicationContext.getBean(requiredType);
}


免責聲明!

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



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