【发布时间】:2017-09-11 05:36:43
【问题描述】:
我很难理解为什么以下代码会在 Java 中返回语法错误:
int integer1 = 5;
System.out.print("The value of integer1 is " + (String)integer1);
我注意到要绕过这个错误,我可以创建一个新的 String 变量,初始化为 integer1 的类型转换值:
int integer1 = 5;
String cast = (String)integer1;
System.out.print("The value of integer1 is " + cast);
但这似乎有点不必要,特别是如果我只显示整数的值一次。
【问题讨论】:
-
您不能在字符串和整数之间进行转换。显示的两个示例都无法编译。为什么不简单地使用 wrapper 类型在 string 和 int 之间进行转换?
-
@Jérôme 暗中做了什么? “int”和“string”之间没有隐式转换。
-
你说第二部sn-p作品?
-
@OusmaneMahyDiaw 他们可能意味着在字符串连接中,如果可能,任何内容都将转换为字符串。这不是强制转换,而是隐式完成的转换。
-
当您询问错误时,您应该在问题中粘贴确切的错误消息。
标签: java casting typecast-operator