Java中“ClassCastException”的解释我读过一些关于“ClassCastException”的文章,但对此我没有一个好的想法。是否有一篇好文章,或者什么是简短的解释?
3 回答
RISEBY
TA贡献1856条经验 获得超5个赞
ClassCastException:
抛出以指示代码试图将对象强制转换为它不是实例的子类。
IntegerString, StringIntegerClassCastException
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
提交
取消
