从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

回到顶部