Java 中 ClassCastException 的解释
2022-08-31 11:03:46
我读了一些关于“ClassCastException”的文章,但我无法很好地了解它的含义。什么是ClassCastException?
我读了一些关于“ClassCastException”的文章,但我无法很好地了解它的含义。什么是ClassCastException?
直接来自ClassCastException
的API规范:
抛出以指示代码已尝试将对象强制转换为它不是其实例的子类。
因此,例如,当一个人试图将 a 转换为 a 时,不是 的子类,因此将抛出 a。Integer
String
String
Integer
ClassCastException
Object i = Integer.valueOf(42);
String s = (String)i; // ClassCastException thrown here.
这真的很简单:如果你试图将类A的对象类型化为类B的对象,并且它们不兼容,你会得到一个类强制转换异常。
让我们考虑一个类的集合。
class A {...}
class B extends A {...}
class C extends A {...}