关于java的泛型创建类型变量的数组对象

为什么return这里会报错,谢谢解答!... 为什么return这里会报错,谢谢解答! 展开
 我来答
zsyqn
2015-05-11 · TA获得超过2048个赞
知道小有建树答主
回答量:842
采纳率:100%
帮助的人:377万
展开全部
你好,在java中,不能通过直接通过T[] tarr=new T[3]的方式来创建数组,最简单的方式便是通过Array.newInstance(Class<t>type,int size)的方式来创建数组 ,可以参考如下代码,
public static <T> T[] newArrayByArrayClass(Class<T[]> clazz, int length) {
return (T[]) Array.newInstance(clazz.getComponentType(), length);
}
追问
不好意思,我想再请教下为什么T[] tarr = new T[3]是不行的
追答
你好,这是Java的语言规范,在Java的API中不允许这样做的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式