java类型转换String.valueOf()vs变量+“”

时间:2019-05-15 12:58:04

标签: java string type-conversion

我只是想知道,我一直使用第一个版本,但是遇到了在旧代码库中进行第二个变体的实例。

第二种变化是否有任何危险? 它们可以互换吗?

仅做String就能转换成variable + "";对我来说很奇怪

谢谢!

1 个答案:

答案 0 :(得分:1)

在Java中,字符串具有特殊的运算符+,即串联。如果串联的操作数不是字符串,则调用它们各自的.toString方法;如果值为null,则串联“ null”字符串。大多数现代JIT甚至编译器都可能决定使用stringbuilder。因此,这里唯一的危险是您创建了多余的对象,这些对象将被丢弃。此外,此代码可能不太易读或更混乱。