在Java中,int可以转换为String in in methods
String number = Integer.toString(6);
或
String number = 6 + "";
或
String number = String.valueOf(6);
两个使用一个函数,一个是连接,但都实现了相同的目标, 哪个更好用?哪一个更有效率?或者它们最终都汇集到一个功能?或者编译器最终是否最终将它们交换为相同的函数?
答案 0 :(得分:4)
String.valueOf
来电Integer.toString
:http://www.mavenjava.com/sun/jdk/1.6.0/src/java/lang/String.java.html#String.valueOf%28int%29
public static String valueOf(int i) {
return Integer.toString(i, 10);
}
String number = 6 + "";
使用StringBuilder并附加:
字符串连接是通过StringBuilder(或StringBuffer)类及其append方法实现的。
(这本身比其他两种方式慢)。最好的办法是直接使用Integer.toString
答案 1 :(得分:-2)
你应该尽可能避免字符串连接,特别是如果它在一个循环中。也就是说,很多时候使用""+6
代码最简单。 String.valueOf(6)
可能是最好的选择。引擎盖下的连接变为StringBuilder
,因此比使用String.valueOf(6)
时更多的开销。 Integer.toString(6)
只是奇怪的IMO。此外,如果它是文字,您应该使用"6"
。