博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Object[] 向下强转的时候可能会发生异常
阅读量:6955 次
发布时间:2019-06-27

本文共 593 字,大约阅读时间需要 1 分钟。

hot3.png

List
longList = new ArrayList<>();longList.add(1L);Long[] longArrays = (Long[]) longList.toArray();        

比如说上面的代码执行的时候会发生异常:

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Long;

原因:其实这个错误不太明确,真正导致上面的强转发生异常的原因是,new ArrayList()创建的时候,有一个默认的初始长度,这个默认值是10;所以在toArray()创建新的数组的时候,会按照这个长度创建,但是其实longList中并没有10个数,这时就会导致上面的异常。这时候,我们需要自己定义一个长度跟源集合长度相同的数组穿进去就可以了,如下:

List
longList = new ArrayList<>();longList.add(1L);Long[] longArrays = (Long[]) longList.toArray(new Long[longList.size()]);

转载于:https://my.oschina.net/u/1757225/blog/1506576

你可能感兴趣的文章
各大SRC中的CSRF技巧
查看>>
Docker for Windows 使用入门
查看>>
【Django】Web应用开发经由
查看>>
SpringBoot(九)-- SpringBoot JDBC
查看>>
Spring + Mybatis - 原始dao开发整合 与 Mapper代理整合
查看>>
基于Centos搭建nginx+uwsgi运行django环境
查看>>
context switch
查看>>
Oracle awr报告生成操作步骤
查看>>
【DB2】DB2使用IMPORT命令导入含有自增长列的表报错处理
查看>>
微服务之springCloud-docker-comsumer(三)
查看>>
dhcpcd守护进程分析【转】
查看>>
Linux - 理不清的权限chmod与chown区别
查看>>
TCP协议疑难杂症全景解析
查看>>
redis 1
查看>>
Python安装pycurl失败,及解决办法
查看>>
cocos2d的常用动作及效果总结之四:Special Actions
查看>>
[ lucene扩展 ] MoreLikeThis 相似检索
查看>>
如果返回结构体类型变量(named return value optimisation,NRVO)
查看>>
C# 多线程详解 Part.02(UI 线程和子线程的互动、ProgressBar 的异步调用)
查看>>
基于shiro授权过程
查看>>