加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:06:14 所属栏目:Java 来源:网络整理
导读:为什么这是错的: Class? extends Number type = Integer.class; ArrayListtype = new ArrayList(); ? 有没有办法实例化一个给定类对象的特定类型的类? 显然,我永远不会直接做到这一点,只是一个例子,显示需要什么.在实际的代码中,我需要我不知道类型的名称
为什么这是错的:
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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读