有时java让我困惑。 我有大量的int初始化要做。
真正的区别是什么?
Integer.toString(我) 新的整数(我).toString ()
有时java让我困惑。 我有大量的int初始化要做。
真正的区别是什么?
Integer.toString(我) 新的整数(我).toString ()
当前回答
简单的方法是将""和整数连接起来:
int i = 100;
String s = "" + i;
现在s将有100作为字符串值。
其他回答
另一个选项是静态字符串。返回对象的值的方法。
String.valueOf(i)
对我来说,它感觉比Integer.toString(i)更正确。当i的类型改变时,例如从int变为double,代码将保持正确。
简单的方法是将""和整数连接起来:
int i = 100;
String s = "" + i;
现在s将有100作为字符串值。
好:
Integer.valueOf(i).toString()
我也强烈推荐使用
int integer = 42;
String string = integer + "";
简单有效。
在性能度量方面,如果你考虑的是时间性能,那么Integer.toString(i);如果你调用的次数少于1亿次就会很昂贵。否则,如果调用次数超过1亿次,则新的Integer(10). tostring()将执行得更好。
下面是代码,通过你可以尝试测量性能,
public static void main(String args[]) {
int MAX_ITERATION = 10000000;
long starttime = System.currentTimeMillis();
for (int i = 0; i < MAX_ITERATION; ++i) {
String s = Integer.toString(10);
}
long endtime = System.currentTimeMillis();
System.out.println("diff1: " + (endtime-starttime));
starttime = System.currentTimeMillis();
for (int i = 0; i < MAX_ITERATION; ++i) {
String s1 = new Integer(10).toString();
}
endtime = System.currentTimeMillis();
System.out.println("diff2: " + (endtime-starttime));
}
在内存方面,
新的整数(我).toString ();
会占用更多的内存,因为它每次都会创建对象,所以会发生内存碎片。