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

Aar*_*ron 5 java generics

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

public Object query(Class c, Filter f)
{....}
Run Code Online (Sandbox Code Playgroud)

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

例如.

return new ArrayList<c>();
Run Code Online (Sandbox Code Playgroud)

显然我可以做一个switch如果我知道一组值c,但这是一个非常难看的黑客,我不想做.

谢谢.

Yis*_*hai 5

你需要一个帮助方法:

 private <T> List<T> createList(Class<T> klass) {
          return new ArrayList<T>();
 }
Run Code Online (Sandbox Code Playgroud)