2016-04-21 135 views
0

這裏是我的泛型類:我可以在Java的泛型聲明中使用變量嗎?

class MultiType<T> { 
    private T value; 

    MultiType(T value) { 
     this.value = value; 
    } 

    T get() { 
     return value; 
    } 
} 

此刻,我能明顯與調用它:

MultiType multi = new MultiType<Integer>(0); 

或者:

MultiType multi = new MultiType<String>("Hello, World"); 

不過,我想知道,如果類型可以通過變量動態設置。我知道下面是行不通的,但沿線的東西是我所尋找的:

Class strType = "".getClass(); 
MultiType multi = new MultiType<strType>("Hello, World"); 

在此先感謝。

+0

不,對不起,它不會那樣工作。 –

+1

詢問前請先搜索。它已被回答,例如。 [Java中的動態通用類型輸入](http://stackoverflow.com/questions/7342035/dynamic-generic-typing-in-java) –

回答

0

至少在Java中,泛型是編譯時功能。你想實現的是動態(運行時)泛型,這是不可能的。

+0

這不完全正確。通用聲明及其類型刪除可以在運行時進行分析,但是,泛型類型的實例在運行時不能檢查其通用類型。 –

相關問題