Java泛型和数组构造

前端之家收集整理的这篇文章主要介绍了Java泛型和数组构造前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个泛型类,其中泛型参数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 []更有效率和更快,除非您需要大的长值,否则它将能够存储每个可能的值.

原文链接:https://www.f2er.com/java/122142.html

猜你在找的Java相关文章