Java泛型簡單的使用

前言程序員

Java裏面的泛型在實際開發中運用的不少,學過C++的同窗必定知道C++的模板,而Java中的泛型,必定程度上和它仍是挺像的。數組

相信寫Java的人,大都有用過List的實現類ArrayList。在Java沒有泛型以前,它的內部是一個Object的數組實現的。這也致使一個問題,每次使用裏面的元素的時候須要向下轉型,並且很明顯,若是是Object的話,意味着咱們能夠丟任何對象進去。自動轉型成Object,這樣在使用的時候就很容易出問題,不知道里面存的是什麼。如:3d

然而使用泛型容易,咱們就常常使用List的泛型,可是若是咱們要寫一個泛型的類其實並不那麼容易。cdn

最簡單的泛型對象

在MyObject中引入一個類型變量T,用尖括號<>括起來,放在類名的後面。如上!在定義的時候能夠有多個類型的變量,在<>中以逗號,分隔例如public class MyObject<T, U>{…},在類中若是要使用類型 就直接把定義的類型變量看作類名使用便可。blog

用泛型作一個接口返回類接口

相信寫Java的程序員都寫過Web接口,那咱們用泛型來封裝一個統一響應返回的類ResponseMsg。開發

上面的重點是上的 我利用靜態方法封裝了ResponseMsg的構建,只須要提供靜態方法讓調用的人傳入一個類,也能夠不用寫Getter Setter方法,或者直接變成私有方法。 方法若是要用泛型,則只須要在定時的時候在返回類型前面加上便可使用。調用的時候直接在調用方法前面用<>傳入你想用的類便可。如上所示,也能夠將方法用的泛型直接傳入本身類定義的泛型。 此外還能夠經過extends限定你是某某類的子類,或者實現了某個接口。若是有多個接口能夠用&鏈接,好比<T extends Comparable & Serializable>,若是有多個泛型能夠是這樣<T extends OneObject, U extends TwoObject>

注意 泛型不能直接new,須要外部傳入。it

如:io

相關文章
相關標籤/搜索