为什么这段代码连接空字符串和整数?

时间:2013-10-17 01:39:19

标签: java

这段代码是什么意思?

int value;
if (value > 0)
 String input = "" + value;

3 个答案:

答案 0 :(得分:10)

它正在将value转换为字符串。 "" + valuevalue.toString()非常相似。 ""表示编译器正在+之后查找字符串,因此当它在该空间中看到value时,它会自动调用value.toString()来生成字符串结果。< / p>

答案 1 :(得分:2)

String input = "" + value; value是整数类型。将它添加到空字符串 - ""只是使它成为一个字符串。假设value = 3,则""+value将为"3"

编辑:忘记提及String.valueOf(val)函数,这是另一种将几乎所有基本类型转换为String的静态实用工具方法。

答案 2 :(得分:0)

编译器知道如何添加带有一些字符串值的整数。所以在代码中而不是直接调用整数到字符串的转换方法。编码器生成一个常量字符串“”(其中没有值)然后调用连接运算符(+)重载方法来添加整数并将其转换为字符串值。