栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java创建泛型数组运行报错(java.lang.ArrayStoreException: java.lang.String)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java创建泛型数组运行报错(java.lang.ArrayStoreException: java.lang.String)

创建泛型数组运行报错详细:
Exception in thread "main" java.lang.ArrayStoreException: java.lang.String
	at LinearTable.SequenList.SequenceList.insert(SequenceList.java:40)
	at LinearTable.SequenList.SequenceListTest.main(SequenceListTest.java:6)
错误分析:

该错误的具体意思就是说数组存储异常,存储不了,换句话说就是存储的数据不能放到数组中去,该类型的数据不能识别。
调用泛型类时传递的参数类型是自己知道的,不能存储,这种情况大概率是创建泛型数组时出错了。如:

T[] arr = = (T[]) new Objects[capacity];

以上创建泛型数组的方式是错误的,该处创建泛型数组时导入了java.util包下的Objects,是错误的。创建泛型数组时不能直接创建,需要先创建Object类型数组,再强制转化为泛型。其中,还有需要特别注意的地方,Object类是java.lang包下的,不是org.omg.CORBA.Object;包下的Object,lang包是不需要导入的。

正确的创建泛型数组:
T[] arr = = (T[]) new Object[capacity];

注意:可以不用导包

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/318916.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号