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 []更有效率和更快,除非您需要大的长值,否则它将能够存储每个可能的值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |