Java Object[] 向下强转的时候可能会发生异常
2019独角兽企业重金招聘Python工程师标准>>>
List<Long> 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<Long> longList = new ArrayList<>(); longList.add(1L); Long[] longArrays = (Long[]) longList.toArray(new Long[longList.size()]);
转载于:https://my.oschina.net/u/1757225/blog/1506576
Java Object[] 向下强转的时候可能会发生异常相关推荐
- [ 转载 ] Java基础10--关于Object类下所有方法的简单解析
关于Object类下所有方法的简单解析 类Object是类层次结构的根类,是每一个类的父类,所有的对象包括数组,String,Integer等包装类,所以了解Object是很有必要的,话不多说,我们直 ...
- Java的学习(下)
JAVA的学习(下) 2019版尚硅谷Java入门视频教程,哔哩哔哩链接:https://www.bilibili.com/video/BV1Kb411W75N?p=5 十一.Java集合 11-1 ...
- 在线阅读-阿里Java开发手册最强版本【泰山版】
前言 <Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一 线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理 成 ...
- 零基础——java学习路线(下)
学习路线分上中下三篇,前两篇已经发布了,本文是学习路线系列的最后一篇.有没有提到的点或学习疑问欢迎评论区留言~ 公众号后台回复"资料"即可获取学习资料大礼包,你想找的基本都有,外加 ...
- java object toarray_java从toArray返回Object[]到泛型的类型擦除
在将ArrayList等Collection转为数组时,函数的返回值并不是泛型类型的数组,而是Object[].刚好最近翻了一遍<java核心技术>,以及参考<Think in Ja ...
- Linux下java/bin目录下的命令集合
Linux下JAVA命令(1.7.0_79) 命令 详解 参数列表 示例 重要程度 资料 appletviewer Java applet 浏览器.appletviewer 命令可在脱离万维网浏览器环 ...
- 为什么java.lang包下的类不需要手动导入
在使用诸如Date类时,需要手动导入import java. util. Date,再比如使用File类时,也需要手动导入import java. io. File.但是在使用Object类.Stri ...
- 让你的代码减少90%,这些Java工具库太强大了!
来源:www.toutiao.com/i6943239541448917512 工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道.而这些类库早就成为了业界标准类 ...
- JOL(java object layout): java 对象内存布局
我们天天都在使用java来new对象,但估计很少有人知道new出来的对象到底长的什么样子?对于普通的java程序员来说,可能从来没有考虑过java中对象的问题,不懂这些也可以写好代码.今天,给大家介绍 ...
- 深入浅出Java Object Layout (JOL)
基本介绍和使用 Java Object Layout (JOL) openjdk/jol github maven <!-- https://mvnrepository.com/artifact ...
最新文章
- Python 之 matplotlib (三)坐标轴
- Maven安装、配置、项目创建、编译等相关操作
- 梯度下降法Gradient Descent深度学习 机器学习
- CoreAPI_对象三种状态
- 提高服务器并发量,有关系统配置的常规方法
- JDBC进行事务管理
- 从字符串数组中寻找数字的元素
- java 建立一个graphics对象_java – 我应该显式处理Graphics对象吗?
- Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)
- 集群环境下定时调度的解决方案之Quartz集群
- Kaggle实战之食尸鬼、地精、鬼魂分类
- [转]刚成为程序员的你需要什么技能
- 解决warning: #1296-D: extended constant initialiser used告警
- hazy的leetcode刷题笔记(四)
- 震撼您心灵的四川雪山
- win10x64 批处理自动安装打印机
- Shell环境变量深入了解
- Bark to Unlock CodeForces - 868A
- 网安之php开发第十五天
- 商品下单未支付,如何取消订单?
热门文章
- Jzoj3882 近邻
- day03_01 Python历史、32bit和64bit系统的区别
- Vue学习(二):class与style绑定
- 做一个完整的Java Web项目需要掌握的技能[转]
- 易达项目的工作进程第二天
- CF 766C - Mahmoud and a Message (DP+字符串)
- 20145235 《Java程序设计》第6周学习总结
- 布同:后台开发入职四年的经历和体会
- 转载 关于git的常用命令总结
- IIS7 上部署MVC3,执行错误:Could not load type 'System.ServiceModel.Activation.HttpModule'