ClassCastException。

ClassCastException。这个错误也很常见,通常在程序中出现强制类型转换时出现这个错误,如下面这段代码所示:publicstaticMapm=newHashMap(){ { put("a","2"); } }; publicstaticvoidmain(String[]args){ IntegerisInt=(Integer)m.get("a"…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

这个错误也很常见,通常在程序中出现强制类型转换时出现这个错误,如下面这段代码所示:

        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类型时会报如下错误:

ClassCastException。

JVM在做类型转换时会按照如下规则进行检查:

  •     对于普通对象,对象必须是目标类的实例或目标类的子类的实例。如果目标类是接口,那么会把他当作实现了该接口的一个子类。
  •     对于数组类型,目标类必须是数组类型或java.lang.Object、java.lang.Cloneable、java.io.Serializable。

如果不满足上面的规则,JVM会报这个错误了。要避免这个错误有两种方式:

  •     在容量类型中显式的指明这个容器所包含的对象类型,如在上面的Map中可以写为Map<String, Integer> m = new HashMap<String, Integer>(),这样上面的代码在编译阶段就会检查通过。
  •     先通过instanceof检查是不是目标类型,然后再进行强制类型转换。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/195746.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pycharm整理格式快捷键_python代码对齐快捷键

    pycharm整理格式快捷键_python代码对齐快捷键格式化代码快捷键:ctrl+alt+L常用快捷键编辑类:Ctrl+D复制选定的区域或行Ctrl+Y删除选定的行Ctrl+Alt+L代码格式化Ctrl+Alt+O优化导入(去掉用不到的包导入)Ctrl+鼠标简介/进入代码定义Ctrl+/行注释、取消注释Ctrl+左方括号快速跳到代码开头Ctrl+右方括号快速跳到代码末尾Shift

  • leetcode-221. 最大正方形(动态规划)「建议收藏」

    leetcode-221. 最大正方形(动态规划)「建议收藏」在一个由 ‘0’ 和 ‘1’ 组成的二维矩阵内,找到只包含 ‘1’ 的最大正方形,并返回其面积。示例 1:输入:matrix = [[“1″,”0″,”1″,”0″,”0”],[“1″,”0″,”1″,”1″,”1”],[“1″,”1″,”1″,”1″,”1”],[“1″,”0″,”0″,”1″,”0”]]输出:4示例 2:输入:matrix = [[“0″,”1”],[“1″,”0”]]输出:1示例 3:输入:matrix = [[“0”]]输出:0 提示:m == ma

  • springioc和aop原理_描述spring框架的工作原理

    springioc和aop原理_描述spring框架的工作原理Spring的Ioc底层是怎么实现的?一、SpringIoc是什么IOC:控制反转,就是把对象的创建交给Spring来做二、SpringIoc所使用的技术1、xml配置文件2、dom4j解析XML文件3、工厂设计模式4、反射三、SpringIoc的具体实现第一步:配置xml文件 &lt;bean id="dic" class="com.zhy.springIoc.model.Dic"&gt;&lt…

  • 四、网页信息存储和 BeautifulSoup之find用法

    四、网页信息存储和 BeautifulSoup之find用法网页信息存储和BeautifulSoup之find用法前言一、BeautifulSoup之find用法findfind_all具体使用示例二、网页信息存储1.基础知识2.写入数据总结前言上一章更新时时间太过匆忙,在这一章会解决上一章结尾问题BeautifulSoup之find用法,并进入爬虫的第三个流程,信息存储。一、BeautifulSoup之find用法BeautifulSoup有find和find_all的方法。但在使用之前一定要先建立一个beautifulsoup对象。find只

  • 怎么做app软件_软件限制设备登录怎么激活成功教程

    怎么做app软件_软件限制设备登录怎么激活成功教程项目描述客户端,基于H5Plus使用MUI框架开发的APP,运行环境为小米手机真机测试。服务端,使用SpringBoot搭建的项目,运行环境为SpringBoot内置Tomcat,部署端口为8090。问题分析电脑和手机连接同一个WiFi,手机点击按钮,触发Ajax请求,无法访问在笔记本电脑上部署的SpringBoot后台。原Ajax请求地址,使用的是localhost,打开电脑cmd窗口,输入ipconfig查询电脑的ipv4地址,修改localhost为电脑私网IP。mui.ajax(“ht

  • jetson tx1 配置SSD固态硬盘「建议收藏」

    jetson tx1 配置SSD固态硬盘「建议收藏」转载自:http://blog.csdn.net/hit2015spring/article/details/62217289配置外置SSD这里用的是三星EVO250G的SSD,支持SATA接口,ssd插上去开机是不能用的,TX1是没有识别的,需要的格式化为Linux支持的文件系统ext4.一系列配置之后可以把ssd设置为外置的存储,然后再把文件系统拷贝到SSD

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号