2010-02-11 66 views
5

我在模擬不使用泛型的接口,但將Class類型作爲參數。如何在java中動態聲明實例的通用類型

public Object query(Class c, Filter f) 
{....} 

是否有我的執行情況的方式來使用c作爲一個通用的說法?

例如。

return new ArrayList<c>(); 

很顯然,我可以做一個switch如果我有一個知道c設置的情況,但這是一個非常醜陋的黑客攻擊,我不想做的事。

謝謝。

+1

護理解釋爲什麼這是社區維基! – questzen 2010-02-11 19:10:17

+0

萬一任何人感到燃燒慾望編輯它。 – Aaron 2010-02-12 10:24:12

回答

5

你需要一個輔助方法:

private <T> List<T> createList(Class<T> klass) { 
      return new ArrayList<T>(); 
}