ClassCastException异常

当我们在代码中进行强制类型转换,或程序自动进行类型转换时,如果检测到类型不匹配,通常情况下就会抛出ClassCastException异常,然后终止用户请求。有一些类型的转换在编译阶段就可以检测出来,而有些则只有在运行时才能得到验证,这时如果验证不通过就会抛出ClassCastException异常。

参考http://www.blogjava.net/flyingis/archive/2005/12/18/24514.html

ClassCastException异常

时间: 2024-08-06 03:41:37

ClassCastException异常的相关文章

android eclipse调试报java.lang.ClassCastException异常

在布局文件中 ImageView 位置第一次先放在Button之前 编译代码没有出错 然后调整两者的位置 再次编译 报如下错误 异常提示Button类型不能转换成ImageView类型 为什么会这么报错呢,我明明没有让它们之间进行转换. 原来由于eclipse的编译是基于时间戳的判断机制的.所以当你按build all的时候有些eclipse认为时间戳没有改变的类不会被编译.因此你可以先clean一下再编译.这个时候eclipse会将所有的以前编译信息清除然后编译. 在调换两个控件的前后位置再次

为什么web应用在tomcat启动时报java.lang.ClassCastException异常?

QQ图片~1.JPG (102.65 KB, 下载次数: 0) 下载附件 2015-5-27 11:09 上传 其实这是maven的tomcat插件的一个Bug,使用独立版本的tomcat或者使用maven的jetty插件可以避免这个问题.

Hibernate HQL查询异常:java.lang.ClassCastException解决

有时候,我们查询只需要查询bean的某一个部分,而不需要它所有的属性,这时候HQL就可以这样写: 假设有一个类User(省略getter setter): public class User { private String name; private int age; private boolean sex; } 如果只需要查询姓名和年龄,则HQL可以这样写:select new User(name,age) from User; 此时实体类中需要有一个new User(name,age) 这

Java中异常的分类

下面介绍几种常见的异常类型,便于在出错时对程序进行查错: (1)Exception    各种异常的根类 如果你不知道将发生的异常集体属于哪,而可以肯定种这个地方会出现异常时,可以把异常类型定义为Exception. (2)ArithmeticException     算数运算错误异常 这个异常是在算数运算时经常遇到的,常见的情况是除数为0时抛出的异常. (3)ArrayIndexOfOutBoundsException    数组下标越界 编程时要记住Java数组下标是从0开始的,数组下标最

Java数组与列表转换的java.lang.ClassCastException

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer; at com.bupt.acm.test.TestArrayList.main(TestArrayList.java:12) ava.lang.ClassCastException是进行强制类型转换的时候产生的异常,强制类型转换的前提是父类引用指向的对象的类

Java中常见的异常类型

异常大体分为编译异常和运行异常两类,如果用软件开发(如Eclipse)编译异常在写代码时得到提醒,而运行异常需要在运行时才能得到提示. 下面介绍几种常见的异常类型,便于在出错时对程序进行查错: (1)Exception    各种异常的根类 如果你不知道将发生的异常集体属于哪,而可以肯定种这个地方会出现异常时,可以把异常类型定义为Exception. (2)ArithmeticException     算数运算错误异常 这个异常是在算数运算时经常遇到的,常见的情况是除数为0时抛出的异常. (3

ClassCastException深入分析

ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常.此类错误通常会终止用户请求.在执行任何子系统的应用程序代码时都有可能发生ClassCastException异常.通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理.对基础类型和用户定义类型都可以转换.Java语言规范定义了允许的转换,其中大多数可在编译时进行验证.不过,某些转换还需要运行时验证.如果在此运行时验证过程中检测到不兼容,JVM就会引发ClassCastException异常

异常信息详解

一.UnsupportedOperationException 不支持操作的异常 比如通过Arrays.asList方法生成一个固定长度List,但如果对其进行add或者remove的操作,会抛出UnsupportedOperationException 二.ClassCastException 两个类型间转换不兼容时引发的运行时异常. 通过转换,可以指示Java编译器将给定类型的变量作为另一种变量来处理.对基础类型和用户定义类型都可以转换.Java语言规范定义了允许的转换,其中大多数可在编译时

Java基础(52):ClassCastException详解(转)

ClassCastException,从字面上看,是类型转换错误,通常是进行强制类型转换时候出的错误.下面对产生ClassCastException异常的原因进行分析,然后给出这种异常的解决方法. 这种异常是如何产生的呢?举一个比较形象的例子. Animal表示动物,Dog表示狗,是动物的子类,Cat表示猫,是动物的子类.看下面的代码: 1 Animal a1 = new Dog(); // 1 2 Animal a2 = new Cat(); // 2 3 4 Dog d1 = (Dog)a1