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

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

java.lang.ClassCastException: java.lang.Integer 

cannot be cast to java.lang.String

怎么可能呢?每个对象都可以转换为String,不是吗?

代码是:

String myString = (String) myIntegerObject;

谢谢。

回答:

因为String和Integer不在同一对象层次结构中。

      Object

/ \

/ \

String Integer

您尝试的转换仅在相同的层次结构中有效,例如

      Object

/

/

A

/

/

B

在这种情况下,(A) objB(Object) objB(Object) objA将起作用。

因此,正如其他人已经提到的,要将整数转换为字符串,请使用:

String.valueOf(integer)Integer.toString(integer)对于原始

Integer.toString() 为对象。

以上是 为什么不能在Java中将Integer转换为String? 的全部内容, 来源链接: utcz.com/qa/415618.html

回到顶部