Integer.toString(int a)v.int a +"" v.String.valueOf()

时间:2013-10-01 17:56:02

标签: java

在Java中,int可以转换为String in in methods

String number = Integer.toString(6);

String number = 6 + "";

String number = String.valueOf(6);

两个使用一个函数,一个是连接,但都实现了相同的目标, 哪个更好用?哪一个更有效率?或者它们最终都汇集到一个功能?或者编译器最终是否最终将它们交换为相同的函数?

2 个答案:

答案 0 :(得分:4)

String.valueOf来电Integer.toStringhttp://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"