int x = 20;
double d = 3.1416;
String s ="H";
这些是我的变量,我必须给下一行评估的类型。
d/x + "";
正在评估双变量类型(0.15708),这是正确的吗?
答案 0 :(得分:0)
如果我们最后没有那个讨厌的""
你是对的!
将""
添加到类似内容的末尾,使其成为String
。它实际上可以是一个方便的快捷方式 - 而不必使用像String.valueOf()
这样的东西,你可以只做4/2 + ""
,这使它成为一个字符串。
重申一下,
d/x
将是double
,因为您要添加浮点数。
但是double + "" = String
。
我希望有所帮助。祝你好运:)
答案 1 :(得分:0)
你错了。
d/x + "";
是String
。
发生这种情况是因为当你使用+
运算符时,如果2个方面中的任何一个是String
,则会发生字符串连接,当然结果是{{ 1}}。
顺便说一下,您可以使用String
方法检查确实是String
。请注意,如果您删除getClass()
并使用""
,则会收到错误消息。这是因为getClass()
是d/x
,即原始类型,因此它无法使用double
方法。
在您的例如:强>
getClass()
将返回System.out.println((d/x + "").getClass());