我发现了一些奇怪的异常:
java.lang.ClassCastException: java.lang.Integer
cannot be cast to java.lang.String
这怎么可能呢?每个对象都可以转换为 String,不是吗?
代码是:
String myString = (String) myIntegerObject;
Thanks.
为什么这是不可能的:
因为String和Integer不在同一个Object层次结构中。
Object
/ \
/ \
String Integer
您正在尝试的转换仅在它们位于同一层次结构中时才有效,例如
Object
/
/
A
/
/
B
在这种情况下,(A) objB
or (Object) objB
or (Object) objA
将工作。
因此,正如其他人已经提到的,要将整数转换为字符串,请使用:
String.valueOf(integer)
, or Integer.toString(integer)
对于原始的,
or
Integer.toString()
对于对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)