深入理解java泛型詳解 java怎么獲取一個泛型方法的真實(shí)泛型類型?
java怎么獲取一個泛型方法的真實(shí)泛型類型?在我看來,從一個方法中獲取泛型方法的真正泛型類型是可行的,但是通過一個方法獲取泛型方法的真正泛型類型應(yīng)該是不可能的。首先,Java中的泛型也稱為參數(shù)化類型。
java怎么獲取一個泛型方法的真實(shí)泛型類型?
在我看來,從一個方法中獲取泛型方法的真正泛型類型是可行的,但是通過一個方法獲取泛型方法的真正泛型類型應(yīng)該是不可能的。
首先,Java中的泛型也稱為參數(shù)化類型。正確地記住,泛型應(yīng)該是jdk5引入的特性。泛型的目的是使數(shù)據(jù)類型能夠作為參數(shù)傳入,以便可以動態(tài)更改變量的數(shù)據(jù)類型。
那么什么是通用方法?泛型類型是在方法上聲明的。只有在調(diào)用方法時才會傳入實(shí)類型。如果在方法中得到它,可以直接調(diào)用泛型對象的getClass方法。但我不認(rèn)為通過泛型方法獲得真正的類型是可能的。因?yàn)椴徽{(diào)用方法時,不會輸入實(shí)數(shù)據(jù)類型,因此根本無法獲取泛型對應(yīng)的實(shí)類型。
所以我將討論如何在泛型方法中獲得泛型的真實(shí)類型。
舊規(guī)則,讓我們編寫一個代碼來解釋。泛型方法的示例如下圖所示:
在上圖中,我聲明了一個泛型方法:findfirst,用于獲取數(shù)組的第一個元素。
運(yùn)行結(jié)果如下圖所示:
以上是我的答案,希望能對您有所幫助
這是數(shù)組的機(jī)制。聲明數(shù)組時,需要確定其類型。它還與數(shù)組的內(nèi)存空間有關(guān)。當(dāng)您聲明一個數(shù)組時,實(shí)際上是建立了一個空間。這個空間僅限于數(shù)據(jù),并不是所有的東西都能放進(jìn)去。泛型意味著在使用特定類型時,在確定特定類型之前不確定該類型。所以這是不支持的。實(shí)際上,可以使用set list和set來支持泛型