为什么在java中不能将Integer转换为String?

2023-12-11

我发现了一些奇怪的异常:

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(使用前将#替换为@)

为什么在java中不能将Integer转换为String? 的相关文章

随机推荐