
为什么Java不支持声明泛型数组
3个回答
展开全部
由于JVM泛型的擦除机制,在运行时JVM是不知道泛型信息的,所以可以给oa[1]赋上一个ArrayList<Integer>而不会出现ArrayStoreException,但是在取出数据的时候却要做一次类型转换,所以就会出现ClassCastException,如果可以进行泛型数组的声明,上面说的这种情况在编译期将不会出现任何的警告和错误,只有在运行时才会出错。而对泛型数组的声明进行限制,对于这样的情况,可以在编译期提示代码有类型安全问题,比没有任何提示要强很多。
展开全部
你好,java是可以支持的,如下面代码
class Cls<T> {
List<T> list = new ArrayList<T>();
}
希望可以帮助到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
难道给你在数组里面添加乱七八糟的数据啊。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询