有没有什么办法用Class变量创建一个泛型的实例?
问题描述:
例如,是否有可能做这样的事情:有没有什么办法用Class变量创建一个泛型的实例?
public void doSomething(Class clazz) {
List<clazz> list = new ArrayList<clazz>();
list.add(clazz.newInstance));
}
我知道这并不工作,但它显示了我想要知道的。有什么方法来参数化创建泛型类吗?
谢谢, 彼得
答
您可以尝试
public <T> void doSomething(Class<T> clazz) {
List<T> list = new ArrayList<T>();
list.add(clazz.newInstance());
}
为什么?你会如何处理这个清单? – SLaks 2011-02-04 15:33:27
你将如何决定如何处理与`instanceof`不同的东西? – BoltClock 2011-02-04 15:34:02