使用toArray将List转数组出现java.lang.ClassCastException报错
使用toArray将List转数组出现java.lang.ClassCastException报错
先贴报错的代码
ArrayList list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
Integer[] altoa = (Integer[])list.toArray();
- toArray方法是一个有参的泛型方法,方法参数需要是一个数组(T[] a)
- 在Java中是强制类型转换只能是单个对象,不能把整个数组强制转换成另一种元素
所以解决方法就是给tpArray加入参数
Integer[] altoa = (Integer[])al.toArray(new Integer[list.size()]);
在同一种思路下还有:
Integer[] l = new Integer[list.size()];
list.toArray(l);
Integer[] integer = (Integer[])list.toArray(new Integer[0]);
//参数指定空数组,节省空间
Integer[] in1 = new Integer[list.size()];
Integer[] in2 = (Integer[])list.toArray(in)
记录下
使用toArray将List转数组出现java.lang.ClassCastException报错相关推荐
- Caused by: java.lang.IllegalArgumentException报错
报错内容: java.lang.IllegalStateException: Failed to load ApplicationContextat org.springframework.test. ...
- 在拦截器中获取请求参数,[Ljava.lang.String; cannot be cast to java.lang.String报错
Map<String,Object> parametersmap=invocation.getInvocationContext().getParameters();//获取请求参数 ...
- Intellij IDEA 导入或运行流式处理框架storm以及java.lang.NoClassDefFoundError报错的解决方案
网上有很多使用eclipse编辑storm的,但是我觉得eclipse界面不太友好,于是毅然使用intellij IDEA来编辑 但是直接无脑导入会有各种各样奇葩的报错,于是我在解决了问题之后与大家分 ...
- 编译Android源码:Exception in thread main java.lang.UnsupportedClassVersionError:报错解决
报错: Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/verity/ ...
- java.lang.UnsatisfiedLinkError报错
具体报错为:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/dat ...
- 【Bug总结】java.lang.IllegalThreadStateException报错bug的解析
背景 在执行单元测试的时候,发现同一线程运行多次后,就会报一个线程的错误: Exception in thread "Main Thread" java.lang.IllegalT ...
- java.lang.IllegalArgumentException报错
报错信息如下: 主要受spring版本与JDK版本不对应导致的, Spring3.X支持到JDK7,Spring4.X支持JDK8,最低支持到JDK6. 我当前的环境是spring3.2,JDK1.8 ...
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String,toArray向下转型失败
问题: 将集合通过toArray转为Object[]数组后,再通过向下转型失败 源代码: public void test(){List<String> list = new ArrayL ...
- ArrayMap java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Object[]
错误堆栈: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Object[]at android. ...
最新文章
- C++实现int与string之间的相互转换
- 某大龄程序员哀叹:夫妻双失业后还不起房贷,被迫断供!四年还了80万,60多万都是利息!...
- 微信小程序组件化 快速实现可用模态窗
- GetAsyncKeyState
- 亿级别记录的mongodb批量导入Es的java代码完整实现
- 今天开始SOA-阿里dubbo
- NYOJ 633 幂
- 能根治乱象了?豆瓣私密小组将全部停用
- 【原】winform定制datagrid模板
- python笔记--元组
- 【NIPS 2018】循环World模型促进策略演变
- java类加载机制之类加载过程、类加载器及双亲委派模型详解
- 在资源管理器中不小心关掉了什么,win10桌面不见了,变黑了
- 微信真机调试遇到“errno“:600001,“errMsg“:“request:fail -200:net::ERR_CERT_COMMON_NAME_INVALID
- Day13:What did I do today?
- 药方的量化方法笔记(学习与尝试):第二回 第一次 药方的拆解 量化方法的形式的发展 对药的量化分析
- Factory method 'dataSource' threw exception; nested exception is java.lang.NullPointerException
- Ultrasound Open Platforms for Next-Generation Imaging Technique Development
- 【vue】设置浏览器上方的标题和图标
- DOS中goto eof的作用