Java中“ClassCastException”的解释我读过一些关于“ClassCastException”的文章,但对此我没有一个好的想法。是否有一篇好文章,或者什么是简短的解释?
3 回答

RISEBY
TA贡献1856条经验 获得超5个赞
ClassCastException
:
抛出以指示代码试图将对象强制转换为它不是实例的子类。
Integer
String
, String
Integer
ClassCastException
Object i = Integer.valueOf(42);String s = (String)i; // ClassCastException thrown here.

子衿沉夜
TA贡献1828条经验 获得超3个赞
class A {...}class B extends A {...}class C extends A {...}
您可以将任何这些东西转换为对象,因为所有Java类都是从对象继承的。 你可以把B或C都投给A,因为它们都是A的“种类” 可以将对A对象的引用转换为B 只有当
真正的对象是B。 你不能把B投给C,即使他们都是A的。

米琪卡哇伊
TA贡献1998条经验 获得超6个赞
对象->动物->狗
public void manipulate(Object o) { Dog d = (Dog) o; }
Animal a = new Animal(); manipulate(a);
ClassCastException
Dog d; if(o instanceof Dog) { d = (Dog) o; } else { //what you need to do if not }
添加回答
举报
0/150
提交
取消