En términos de medición del rendimiento, si está considerando el rendimiento del tiempo, Integer.toString (i); es costoso si llama menos de 100 millones de veces. De lo contrario, si son más de 100 millones de llamadas, el nuevo Integer (10) .toString () funcionará mejor.
A continuación se muestra el código a través del cual puede intentar medir el rendimiento,
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));
}
En términos de memoria, el
nuevo entero (i) .toString ();
tomará más memoria ya que creará el objeto cada vez, por lo que sucederá la fragmentación de la memoria.
"" + 42
, pero bueno, ese soy yo. El formulario # 2 dará como resultado un nuevo objeto entero (para la mayoría de los valores de i) como intermedio. También es más mecanografía.