是'整数+""'在Java中将整数转换为字符串的好方法?

时间:2015-10-14 08:29:40

标签: java

我总是使用String.valueOf(integer)将整数转换为字符串,但我看到有人通过integer + ""执行此操作。例如,

int i = 0;
String i0 = i + "";

那么,这是将整数转换为字符串的好方法吗?

4 个答案:

答案 0 :(得分:13)

虽然它有效,但i + ""有点将int转换为String。字符串上的+运算符从未设计为使用该方式。始终使用String.valueOf()

答案 1 :(得分:9)

使用任何更易读的方法。 String.valueOf(i)Integer.toString(i)使您的意图比i + ""更清晰。

答案 2 :(得分:3)

不仅是优化。我不喜欢

"" + i

因为它没有表达我真正想做的事情。

我不想将整数附加到(空)字符串。我想将整数转换为字符串:

Integer.toString(i)

或者,不是我喜欢的,但仍然比连接更好,得到一个对象的字符串表示(整数

String.valueOf(i)

N.B:对于经常调用的代码,例如在循环中,优化肯定也是不使用连接的一点。

答案 3 :(得分:3)

如果您有Integer i(非原始)并使用i + "",那么如果{{"null",您可能会得到一个非i值的空字符串1}}为空,而String.valueOf(...)在这种情况下会抛出NullPointerException

在所有其他情况下它都是相同的(也与调用返回结果的内部进程非常相似)。鉴于上述内容,这一切都取决于您使用它的上下文,e.x。如果您打算将字符串转换回int / Integer +案例,可能会出现问题。