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

在Java中将字符转换为整数

公瑞
2023-03-14
问题内容

系统:Windows Vista 32位,Java 6.0.2

我有一些关于将char转换为int的问题。我运行下面的代码,将myInt的值保留为4:

  char myChar = '4';
  int myInt = myChar - '0';

现在,这种转换是Java自动完成的吗?是从ascii“ 4”减去ascii值“
0”,然后在幕后强制转换为int吗?这让我感到困惑,因为当我尝试进行反向操作时,实际上必须将结果转换为char:

  int anotherInt = 5;
  char newChar = anotherInt + '0'; //gives error

  char newChar = (char)(anotherInt + '0'); //works fine

如第一个示例所示,是因为Java自动将(anotherInt +‘0’)强制转换为一个int吗?谢谢。


问题答案:

char(2字节类型)到int(4字节类型)的转换在Java中是隐式的,因为这是一个扩展的转换-
您可以存储在中的所有可能值,也可以存储在charint。反向转换不是隐式的,因为它是缩小的转换-
它可能会丢失信息(的高2个字节int被丢弃)。在这种情况下,您必须始终明确地进行强制转换,以告诉编译器“是的,我知道这可能会丢失信息,但我仍然想这样做。”



 类似资料:
  • 问题内容: 给定一个数字: 将其转换为字符串的“最佳”方法是: 问题答案: 有多种方法: (我的偏爱) (我不知道编译器如何处理它,也许它和上面一样有效)

  • 问题内容: 有没有一种方法可以将整数转换为PHP中的字符串? 问题答案: 您可以使用该函数将数字转换为字符串。 从维护的角度来看,它显然是您正在尝试做的事情,而不是其他一些更深奥的答案。当然,这取决于您的上下文。

  • 我想有一个JPQL查询,它可能看起来像: 其中a.num是一个整数。我想将此转换为字符串以使用类似的条件。然而,上述转换在JPQL中不起作用。我该如何实现这一点?

  • 问题内容: 如果字符串是java中的任何有效数字(例如int,long,double等),我如何将字符串转换为抽象数字。 我将不知道字符串中数字的类型,所以我不能使用特定的原始解析(例如Integer.parseInt,Long.parseLong等)。有什么通用的方法可以转换它吗? 例如: 字符串->数字 “ 23423”-> 23423 “ 34.3”-> 34.3 “ 45364573747

  • 问题内容: 如何将月份字符串转换为整数? 在单击方法上,我想显示选定的日期,但是如果该日期有一个事件,它应该显示有关该事件的更多信息。检查假日事件的方法需要整数值。 这是代码: 更新: 问题答案: 看到 IDE一演示

  • 问题内容: 我想将a转换为Character类的对象数组,但无法执行转换。我知道我可以使用该方法将String转换为原始数据类型类型为“ char”的数组,但这无助于将String转换为Character类型的对象数组。 我将如何去做? 问题答案: 用这个: