我看到了一些像这样的问题,但与我的情况不同。我想在构建时将生成的类设置为运行时的泛型类。 这是代码。
//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);
}
怎么做?
答案 0 :(得分:3)
你不能。
通过名为 type erasure 的进程编译时,泛型全部映射到java.lang.Object
。
您只能构建在编译时检查的内容:请考虑使用Class<? extends ...>
表示法。