泛型有什麼用?

時間 2021-06-08 15:50:56

1樓:TTTT

ResultVO {

private Interger code,private String msg,

private T Data,

springboot要是用過的話就懂了吧。。。

2樓:

為什麼要用泛型呢?

泛型的主要優勢有以下幾點:

(1)保證了型別的安全性:泛型約束了變數的型別,保證了型別的安全性。例如List和ArrayList。

List集合只能加入int型別的變數,ArrayList可以Add任何常用型別,編譯的時候不會提示錯誤。

(2)避免了不必要的裝箱、拆箱操作,提高程式的效能:泛型變數固定了型別,使用的時候就已經知道是值型別還是引用型別,避免了不必要的裝箱、拆箱操作。

舉例說明:

使用泛型之前,我們使用object代替。

object a=1;//由於是object型別,會自動進行裝箱操作。

int b=(int)a;//強制轉換,拆箱操作。這樣一去一來,當次數多了以後會影響程式的執行效率。

使用泛型之後

public static T GetValue(T a)

return a;

public static void Main(string args)

int b=GetValue(1);//使用這個方法的時候已經指定了型別是int,所以不會有裝箱和拆箱的操作。

(3)提高方法的復用性。上面的例子基本能說明這個優勢。

3樓:高齡程式設計師

你可以理解為泛型可以讓你把引數型別也當做引數傳遞,這樣當你寫乙個方法時就能夠有更通用的適配性,而不是針對每種引數型別都要寫乙個方法。

4樓:方應杭

假設你要實現乙個加法:

const

add=

(a:number

,b:number

)=>a+

b但是你的加法實際上可以支援兩個字串相加:

const

add=

(a:string

,b:string

)=>a+

b但是你的加法實際上可以支援兩個物件相加:

const

add=

(a:Object

,b:Object

)=>a.

toString()+

b.toString

()其實你的加法支援「兩個相同型別的東西相加」,顯然,你不可能把所有型別都列一遍,

於是,你想到了泛型:

const

add=

(a:T,

b:T)

=>...泛型就是支援廣泛的型別,也就是支援不止乙個型別。

但是當你實現 add 是發現報錯了:

於是你需要對 T 進行一些「約束」:

這裡的 T extends 的意思是 T 型別至少擁有乙個 add 方法。

這裡的 add 只是乙個不切實際的例子,如有不妥,當我沒說。完。

讀書有什麼用?學習有什麼用?

梅子 有人會問,女孩子上那麼久的學 讀那麼多的書,最終不還是要回一座平凡的城,打乙份平凡的工,嫁作人婦,洗衣煮飯,相夫教子,何苦折騰?我想,我們的堅持是為了,就算最終跌入繁瑣,洗盡鉛華,同樣的工作,卻有不一樣的心境,同樣的家庭,卻有不一樣的情調,同樣的後代,卻有不一樣的素養。楊瀾 鹹魚逐日 提出這種...

護膝有什麼用?

古一笑 1 保暖,膝蓋部位是非常容易受涼的,很多病都和膝蓋受涼有關,也許這就是你媽總讓你穿秋褲的原因 比如腿部肌肉在運動的時候會發熱,但膝蓋沒有肌肉,所以不熱。當你有種腿部在散熱感覺,其實是你的膝蓋在受涼。所以帶護膝不是你媽覺得你冷,而是你的膝蓋覺得你冷。2 制動,膝關節是上下腿骨交接的地方,而上方...

GIS有什麼用

不知火 個人覺得GIS最大的價值在於將地理學的價值運用於商業 生產與流通 日常生活 政策實踐等行業中,讓社會與個人更好地認知地理資訊所帶來的決策與理解價值,由此進一步激發傳統地理學發展動力。 John Doe Word可以稱作是乙個TIS Text Infomation System 那麼GIS G...