java.lang.ArrayStoreException问题求助
2个回答
展开全部
这是因为Java里数组是协变的。譬如这样
Number[] na = new Number[10];
Integer[] ia = new Integer[10];
这都是没问题的,所以我可以
na[0] = Float.valueOf(1.2f);
这也是没问题的,问题在于Java里数组是协变的,意味着我可以
na = ia;
这样赋值没问题,但是现在问题来了,我现在再
na[0] = Float.valueOf(1.2f);
会怎么样?因为数组实际类型是Integer数组,所以肯定装不了Float实例,所以会抛出java.lang.ArrayStoreException这个异常
Number[] na = new Number[10];
Integer[] ia = new Integer[10];
这都是没问题的,所以我可以
na[0] = Float.valueOf(1.2f);
这也是没问题的,问题在于Java里数组是协变的,意味着我可以
na = ia;
这样赋值没问题,但是现在问题来了,我现在再
na[0] = Float.valueOf(1.2f);
会怎么样?因为数组实际类型是Integer数组,所以肯定装不了Float实例,所以会抛出java.lang.ArrayStoreException这个异常
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询