ClassCastException。
这个错误也很常见,通常在程序中出现强制类型转换时出现这个错误,如下面这段代码所示:
public static Map m = new HashMap() {{put("a", "2");}};public static void main(String[] args) {Integer isInt = (Integer) m.get("a");System.out.println(isInt);}
当强制将本来不是Integer类型的字符串转成Integer类型时会报如下错误:
JVM在做类型转换时会按照如下规则进行检查:
- 对于普通对象,对象必须是目标类的实例或目标类的子类的实例。如果目标类是接口,那么会把他当作实现了该接口的一个子类。
- 对于数组类型,目标类必须是数组类型或java.lang.Object、java.lang.Cloneable、java.io.Serializable。
如果不满足上面的规则,JVM会报这个错误了。要避免这个错误有两种方式:
- 在容量类型中显式的指明这个容器所包含的对象类型,如在上面的Map中可以写为Map<String, Integer> m = new HashMap<String, Integer>(),这样上面的代码在编译阶段就会检查通过。
- 先通过instanceof检查是不是目标类型,然后再进行强制类型转换。
ClassCastException。相关推荐
- weblogic部署,常见错误解决二——ClassCastException
3. weblogic使用了自己带的xml解析器造成的ClassCastException 早上接到项目组发来的java程序接口报错信息.分析其中出错信息如下: 1. Warning: Caught ...
- java.lang.ClassCastException(java强制类型转换异常)
ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这 ...
- Myeclipse J2EE Project, 折腾死我了。
这两天因为想测试一下群集Cache,用Myeclipse 建了一个测试程序,快把我折腾死了. 在Myeclipse的设计中,Project的粒度很细.EAR Project, WAR Project, ...
- java 类型转换异常_java.lang.ClassCastException(java强制类型转换异常)
ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这 ...
- 超全Java面试知识点总结(网络、OS、JVM、并发、算法、数据库、框架。。)
在之前的基础上修正了若干内容,增加了包括缓存.CDN.进程通信方式等新内容,精简了整体内容近3万字方便背诵. 计算机网络 网络分层⭐ 国际标准化组织提出了 OSI 模型:应用层.表示层.会话层.运输层 ...
- 已解决java.lang.ClassCastException异常的正确解决方法,亲测有效!!!
已解决java.lang.ClassCastException异常的正确解决方法,亲测有效!!! 文章目录 报错问题 解决方法 福利 报错问题 粉丝群里面的一个小伙伴敲代码时发生了报错(当时他心里瞬间 ...
- TreeMap源码解析。
/*** 基于红黑树(Red-Black tree)的 NavigableMap 实现.该映射根据其键的自然顺序进行排序,* 或者根据创建映射时提供的Comparator 进行排序,具体取决于使用的构 ...
- classcastexception(classcastexception null)
java.lang.ClassCastException怎么解决 1. 打开我们的开发工具myeclispe,然后点击File,选择New,在点击Java Project选项来新建个java工程项目: ...
- 手把手教你解决ClassCastException类型转换异常
一. 前言 最近有很多初学Java的小伙伴,甚至是学习到了JavaWeb及框架阶段的小伙伴,跑来问千锋健哥:该如何解决Java中的ClassCastException类型转换异常?为了给大家解决这个较 ...
最新文章
- python的文件类型
- 下拉列表控制文本框的个数思路
- Java---------- LeetCode——746. 使用最小花费爬楼梯
- 看事实风向的网站,做风向建模和出去放风筝,飞无人机的时候可以看一看~
- java通过commons-fileupload实现多张图片的上传(servlet)
- 前端学习(1682):前端系列实战课程之让蛇改变方向
- numpy维度交换_数据分析-gt;基本操作numpy(1)
- 印记博客IBO博客系统 v2.0.2源码
- 如何向父母解释什么是爬虫?
- DragonBones快速入门指南
- 微型计算机断电后信息将会丢失,2011年计算机基础知识精选部分及答案三
- OverflowError: Python int too large to convert to C long 在Windows环境下Python报错
- rollup函数 和cube函数 的区别?
- 东欧小哥打造超全Python速查表登上GitHub热榜,标星4600+
- 多核处理器_胶水多核等于Low?处理器封装没有那么简单!
- Java中undefined是什么意思,Haskell中的undefined和Java中的null有什么区别?
- gmail 邮件客户端设置
- acwing.95.费解的开关
- [附源码]JAVA+ssm基于Internet快递柜管理系统(程序+Lw)
- Windows10重装设置(个人)
热门文章
- 双生视界服务器维护,《双生视界》7月30日7点停服维护公告
- 全栈、云原生的数据分析时代已来,我们如何抓住机会?
- 为了实施一套ERP,你花了多少冤枉钱?
- Unity3D研究院之FBX模型的载入与人物行走动画的播放(十二)
- MySQL数据库修改字段编码
- 玩着也能学python电子版_玩着也能学Python
- 基于Hadoop的疫情信息分析与可视化研究——包含大屏可视化及预测算法
- AI大视觉(二十) | 小目标检测的tricks汇总
- Ubuntu 22.04 一次及其繁琐的 允许 Traceroute 探测漏洞修复之旅
- 实验6、8254定时/计数器实验