从Class对象中指定Java中的泛型类型
为什么这是错误的:
Class<? extends Number> type = Integer.class; ArrayList<type> = new ArrayList<>();
?
给定一个类对象,没有办法实例化特定类型的类吗?
显然,我永远不会直接这样做,这只是显示所需内容的一个示例。在实际的代码中,我需要不知道类型的名称。例如
public void createAList(Class<? extends Number> type) {
ArrayList<type> toReturn = new ArrayList<>();
return toReturn;
}
回答:
<T extends Number> ArrayList<T> createAList(Class<T> type) {
ArrayList<T> toReturn = new ArrayList<>();
return toReturn;
}
ArrayList<Integer> intList = createAList(Integer.class);
以上是 从Class对象中指定Java中的泛型类型 的全部内容, 来源链接: utcz.com/qa/417756.html