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

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