当前位置: 首页 > 面试题库 >

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

魏鹤轩
2023-03-14
问题内容

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

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中将Double转换为Integer,包括了在Java中将Double转换为Integer的使用技巧和注意事项,需要的朋友参考一下 首先,初始化一个double值- 现在,使用intValue()方法将Double转换为Integer值- 示例 以下是在Java中将Double转换为Integer的程序- 输出结果

  • 问题内容: 我写了一个函数将字符串转换为整数 我有一个字符串6042076399,它给了我错误: 这不是将字符串转换为整数的正确方法吗? 问题答案: 这是我更喜欢的方式: 编辑(2015年4月4日): 如下面的评论所述,实际上这样做更好:

  • 问题内容: Java中的所有数字都应为int类型。以下行在Java> 1.5中是合法的 同样的机制去和实例。但是龙的作品完全不同。以下代码给出了编译时错误 Long对长类型使用自动装箱方法,因此 我看不到为什么不能将int赋给Long变量。关于这个问题有什么想法吗? 问题答案: 我认为问题不在于泛型转换原语和包装。问题是关于将int转换为java.lang.Long和将int转换为java.lan

  • 问题内容: 我有一个长度为4的大型数据集,我想计算4个整数的每种特定组合出现的次数。这与计算文档中的单词频率非常相似。 我想创建一个, 将每个映射到正在运行的计数的列表,但是列表不使用原始类型。 所以我做了 我的数据存储为一个,所以我的循环应该像 我不确定在注释中需要什么代码才能完成将转换int[]为的工作Integer[]。也许我从根本上对正确的方法感到困惑。 问题答案: 使用Java 8,可以

  • 我正在为一个类编写一个单元测试,如下所示: 现在,当我运行这段代码时,它给我一个错误,即我无法将强制转换为Java中的集合。 ps:有一个单独的类,名为,它的setter如下所示: 而我正在尝试使用上面的这种方法。

  • 问题内容: 任何方式投来? 引发异常 问题答案: A 不是,因此强制转换将不起作用。请注意Double 类和double 原始类型之间的区别。另请注意,a 是a ,因此它具有方法 ,你可以使用该方法将值作为原始值获取int。