取代什么?在下面的代码中,它会起作用吗?
import java.util.List;
public class Generic {
private static class Foo<T> {
Foo(Class<T> clazz) {
assert clazz != null;
}
}
public static void main(String[] args) {
Class<List<String>> x = ???;
Foo<List<String>> t = new Foo<List<String>>(x);
}
}
答案 0 :(得分:6)
我会选择:
@SuppressWarnings("unchecked")
Class<List<String>> klass = (Class<List<String>>)((Class<?>) List.class);
你不需要这种类型的演员类的实例。
答案 1 :(得分:1)
在运行时,所有List
“类”都相同,因为通用类型已被删除
Class<List<String>> x = (Class<List<String>>) (Class) List.class;