1

在 Java 中,一个 int 可以转换为一个 String in to 方式

String number = Integer.toString(6);

或者

String number = 6 + "";

或者

String number = String.valueOf(6);

两个使用一个函数,一个是串联,但都达到相同的目标,哪个更好用?哪个更有效?还是它们最终都集中到一个功能上?还是编译器最终只是将它们换成相同的功能?

4

2 回答 2

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

于 2013-10-01T18:00:54.733 回答
-2

您应该尽可能避免字符串连接,尤其是在循环中。也就是说,很多时候使用""+6. String.valueOf(6)可能是最好的选择。引擎盖下的连接变成了StringBuilder. ,所以那里的开销比使用String.valueOf(6). Integer.toString(6)只是奇怪的海事组织。此外,如果它是文字,您应该只使用"6".

于 2013-10-01T17:59:34.863 回答