2009-12-02 100 views
1

我想實現一個包含模板類型數組的模板。有沒有辦法做類似於我在示例代碼中列出的內容?問題在於this.foo被分配了一個模板類型的新數組。Java模板:模板類型模板列表

class Classname<T> 
{ 
    T[] foo 
    Classname() 
    { 
    this.foo=new T[128]; 
    } 
} 

回答

3

這不起作用,並且here is a good answer解釋了原因。但是,實際上,Arraylist是一個很好的替代品,因爲它基本上將數組包裝在列表對象中。

編輯

This question是更貼近您的問題

0

這應該工作:

import java.lang.reflect.Array; 
class Classname<T> { 
    T[] foo; 
    public Classname(Class<T> klass, int size) { 
    this.foo = (T[]) Array.newInstance(klass, size); 
    } 
} 

,那麼你應該能夠使用這樣的:

Classname<Double> c = new Classname<>(Double.class, 5);