出现原因
抛出以指示代码已尝试将对象强制转换为它不是实例的子类。例如,以下代码生成一个ClassCastException:
对象 x = 新整数(0);
System.out.println((String)x);
解决办法
这种异常我也不知道有什么能够完全解决的办法,但是可以同instanseof来避免
例如:Pet 宠物类 Dog 狗狗类 (继承Pet) Penguin 企鹅类(继承Pet)
Dog dog = (Dog)pet ; 正确 向下转型
Dog dog = (Dog)penguin ; 错误 向下转型
处理方法:使用 instanceof 进行类型判断,可以避免类型转换异常
Pet pet = new Dog();
例: if(pet instanceof Dog){
Dog dog = (Dog)pet;
}else if(pet instanceof Penguin){
Penguin penguin = (Penguin)pet;
}