为什么这是错误的:
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);
关于java - 从类对象指定java中的泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15280414/