gpt4 book ai didi

java - 在 print 语句中使用类型转换运算符

转载 作者:行者123 更新时间:2023-11-30 06:06:47 26 4
gpt4 key购买 nike

我很难理解为什么以下代码会在 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);

但这似乎有点不必要,特别是如果我只显示一次整数的值。

最佳答案

您只能将一个原语转换为另一个原语,或者将一个对象转换为它是其实例的类型。例如,您可以将 String 转换为 Object,将 int 转换为 long。如果您想要字符串中的 int,请使用 String.format 或连接将自动处理转换:

System.out.print(String.format("The value of integer1 is %d", integer1));

System.out.print("The value of integer1 is " + integer1);

顺便说一句,在 Java 中关于基元和类型转换的一件重要事情是您不能将盒装基元转换为其他盒装类型。例如,如果你有

Integer foo = 1000;
Long bar = foo;

你会得到一个 ClassCastException,但是

int foo = 1000;
long bar = foo;

会很好地工作

对盒装版本做同样的事情:

Integer foo = 1000;
Long bar = foo.longValue();

关于java - 在 print 语句中使用类型转换运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43420352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com