2012-04-17 125 views
-1

可能重複:
Get class of generic如何從泛型類型獲取類對象?

我試圖做到這一點:

public static<T extends Object> T perform(){ 
    Class<T> classObject = T.class; 
    Class<T> classObjectAgain = T.getClass(); 
    //... 
} 

我想到了 「擴展對象」 會給我帶來訪問的.class和getClass()... 但是,這不會編譯:「非法類litteral」

你知道我該如何執行這樣的操作?

+0

這個答案有很多重複,只是搜索stackoverflow更多。比如「從泛型類獲取類」。 – JMelnik 2012-04-17 15:47:45

回答

1

Java泛型是通過類型擦除來實現的(因爲它們只出現在Java 5中,這種類型的實現是爲了支持遺留代碼而選擇的)。

這意味着在運行時,所有通用類型實際上都是Object類型的。因此,您不能在運行時使用反射來獲取有關參數化對象的信息。