从Class对象中指定java中的泛型类型

Car*_*ght 10 java generics reflection

为什么这是错的:

    Class<? extends Number> type = Integer.class;
    ArrayList<type> = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

在给定类对象的情况下,是否无法实例化特定类型的类?


显然我永远不会直接这样做,这只是展示所需内容的一个例子.在我需要的实际代码中,我不知道该类型的名称.例如

    public void createAList(Class<? extends Number> type)  
{
    ArrayList<type> toReturn = new ArrayList<>();
    return toReturn;
}
Run Code Online (Sandbox Code Playgroud)

irr*_*ble 9

<T extends Number> ArrayList<T> createAList(Class<T> type)  
{
    ArrayList<T> toReturn = new ArrayList<>();
    return toReturn;
}


ArrayList<Integer> intList = createAList(Integer.class);
Run Code Online (Sandbox Code Playgroud)