Why cannot cast Integer to String in java?(为什么不能在 Java 中将 Integer 转换为 String?)
问题描述
我发现了一些奇怪的异常:
I found some strange exception:
java.lang.ClassCastException: java.lang.Integer
cannot be cast to java.lang.String
这怎么可能?每个对象都可以转换为字符串,不是吗?
How it can be possible? Each object can be casted to String, doesn't it?
代码是:
String myString = (String) myIntegerObject;
谢谢.
推荐答案
为什么这是不可能的:
因为 String 和 Integer 不在同一个 Object 层次结构中.
Because String and Integer are not in the same Object hierarchy.
Object
/
/
String Integer
您正在尝试的转换仅在它们位于同一层次结构中时才有效,例如
The casting which you are trying, works only if they are in the same hierarchy, e.g.
Object
/
/
A
/
/
B
在这种情况下,(A) objB 或 (Object) objB 或 (Object) objA 将起作用.
In this case, (A) objB or (Object) objB or (Object) objA will work.
因此正如其他人已经提到的,将整数转换为字符串使用:
Hence as others have mentioned already, to convert an integer to string use:
String.valueOf(integer),或 Integer.toString(integer) 表示原语,
或
Integer.toString() 用于对象.
这篇关于为什么不能在 Java 中将 Integer 转换为 String?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为什么不能在 Java 中将 Integer 转换为 String?
基础教程推荐
- Struts2 URL 无法访问 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- RabbitMQ:消息保持“未确认"; 2022-01-01
