我总是使用String.valueOf(integer)
将整数转换为字符串,但我看到有人通过integer + ""
执行此操作。例如,
int i = 0;
String i0 = i + "";
那么,这是将整数转换为字符串的好方法吗?
答案 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
+
案例,可能会出现问题。