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

前端之家收集整理的这篇文章主要介绍了从Class对象中指定java中的泛型类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么这是错的:
Class<? extends Number> type = Integer.class;
    ArrayList<type> = new ArrayList<>();@H_301_3@ 
 

有没有办法实例化一个给定类对象的特定类型的类?

显然,我永远不会直接做到这一点,只是一个例子,显示需要什么.在实际的代码中,我需要我不知道类型的名称.例如

public void createAList(Class<? extends Number> type)  
{
    ArrayList<type> toReturn = new ArrayList<>();
    return toReturn;
}@H_301_3@

解决方法

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


ArrayList<Integer> intList = createAList(Integer.class);@H_301_3@

猜你在找的Java相关文章