【发布时间】:2014-01-06 18:03:24
【问题描述】:
如何创建具有指定类型参数的列表? 例如:
LinkedList<Integer> list = createList(LinkedList.class, Integer.class);
我尝试为它创建一个方法,但该方法在创建新实例时不包含类型参数。
public static <T, L extends List<T>> L createList(Class<L> listClazz, Class<T> valueClazz) throws Exception
{
return listClazz.getConstructor().newInstance();
//Instead of
// new L<T>();
//does
// new L();
}
希望我的问题足够清楚,感谢您的帮助。
【问题讨论】:
-
你是把编译时和运行时混在一起,在运行时泛型无关,为什么要使用反射?
-
你可以用谷歌搜索“java类型擦除”。
标签: java list generics casting constructor