gpt4 book ai didi

java - 为什么不能将整数转换为字符串?

转载 作者:行者123 更新时间:2023-11-29 09:56:40 27 4
gpt4 key购买 nike

这是我在 Java 中从未真正理解的东西。假设我有:

int x = 4;

现在我不能这样做了

functionThatRequiresString(x)functionThatRequiresString((String)x)

现在我无法将需要字符串的函数传递给变量 x。我也无法将它从一个 int 转换为一个字符串。现在这样做的正常方法是:

Integer.toString(x)String.valueOf(x)

为什么我可以这样做?

functionThatRequiresString(""+x)

这与将整数转换为字符串有何不同?

最佳答案

转换意味着你告诉编译器“我这里有一个 A 类型的对象,但我希望你把它当作 B 类型的对象来对待。不要因为它看起来不像 B 而报错给你”。

转换不做任何转换(至少对非基本类型不做)。如果在运行程序时对象确实不是 B 类型,您将得到一个 ClassCastException

您不能将 int 转换为 String,因为 int 根本不是 String - 您可以告诉编译器假装它是,但是当你运行程序时你会得到一个 ClassCastException

您提供的其他示例将转换(不是强制转换)intString

关于java - 为什么不能将整数转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9604374/

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