如何在java中在运行时设置泛型类型

时间:2015-11-27 09:13:47

标签: java generics runtime

我看到了一些像这样的问题,但与我的情况不同。我想在构建时将生成的类设置为运行时的泛型类。 这是代码。

  //employee class is generated at build time 
  void function(Class<?> employee)
  {  
      // I want to set class as generic type like this 
     List<employee> emps= new ArrayList<employee>(employee);
   }

怎么做?

1 个答案:

答案 0 :(得分:3)

你不能。

通过名为 type erasure 的进程编译时,泛型全部映射到java.lang.Object

您只能构建在编译时检查的内容:请考虑使用Class<? extends ...>表示法。