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

Java泛型和数组构造

发布时间:2020-12-14 05:33:49 所属栏目:Java 来源:网络整理
导读:假设我有一个泛型类,其中泛型参数T是Number子类.我想在课堂施工期间初始化一个T数组.可能吗?如果是的话,如果不是为什么? public class AClassT extends Number{ private T array[]; private int arrayOfInt[]; public AClass(int size){ arrayOfInt = new
假设我有一个泛型类,其中泛型参数T是Number子类.我想在课堂施工期间初始化一个T数组.可能吗?如果是的话,如果不是为什么?
public class AClass<T extends Number>{

    private T array[];
    private int arrayOfInt[];

    public AClass(int size){
        arrayOfInt = new int[size];
        array = ? //what should I put here?
    } 
}

解决方法

T只在编译时才知道.它在运行时不知道,因此您无法启动数组的内容.但是您可以创建数组,每个值都将为空.
array = (T[]) new Number[size];

编辑:创建任何类型的实例的问题是,您需要知道要使用的默认值以及要调用的构造函数.例如没有新的Double()

如下所述,double []将比Number []更有效率和更快,除非您需要大的长值,否则它将能够存储每个可能的值.

(编辑:李大同)

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

    推荐文章
      热点阅读