Performans ölçümü açısından, eğer zaman performansını düşünüyorsanız o zaman Integer.toString (i); 100 milyondan az kez arıyorsanız pahalı. 100 milyondan fazla çağrı varsa, yeni Integer (10) .toString () daha iyi performans gösterir.
Aşağıda u ile kod performansı ölçmeye çalışabilirsiniz,
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));
}
Bellek açısından,
yeni Tamsayı (i) .toString ();
her seferinde nesneyi oluşturacağı için daha fazla bellek alacaktır, böylece bellek parçalanması gerçekleşir.
"" + 42
, ama hey, o benim. Form # 2, ara madde olarak yeni bir tamsayı nesnesiyle (çoğu i değeri için) sonuçlanır. Aynı zamanda daha fazla yazıyor.