2010-02-11 51 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>(); 
}