如何在java中动态声明实例的泛型类型

时间:2010-02-11 19:01:27

标签: java generics

我正在嘲笑一个不使用泛型的接口,但确实将Class类型作为参数。

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

我的实现中是否有一种方法可以使用c作为泛型的参数?

例如

return new ArrayList<c>();

显然,如果我知道switch的一组值,我可以做c,但这是一个我不想做的非常丑陋的黑客攻击。

感谢。

1 个答案:

答案 0 :(得分:5)

你需要一个辅助方法:

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