2009-01-21 24 views
6

tengo un método que toma Cadena argument.In algunos casos Quiero pasar valor int para que método.Para invocar ese método Quiero convertir int en String.For que estoy haciendo lo siguientela conversión de series

aMethod(""+100); 

Una opción más es

aMethod(String.valueOf(100)); 

Ambos están correct.I no saben lo que es apropiado? ¿Qué le da un mejor rendimiento?

Principalmente esto sucede en GWT.En GWT para configurar el tamaño de los paneles y widgets, quiero hacer esto.

¿Alguien puede dar su sugerencia?

Respuesta

2

Dado que lo está usando principalmente en GWT, yo elegiría el método "" +, ya que es el más adecuado y terminará convertido a JavaScript de todos modos, donde no existe una StringBuilder.

Por favor, no me hagas daño Skeet Fanboys;)

4

El uso de + en cadenas crea varias instancias de cadena, por lo que usar valueOf es probablemente un poco más eficaz.

+0

y como el artículo de Jon Skeet señala, valueOf (foo) le protege de cualquier refactorización futuro debería ser necesario cambiar el tipo de la primitiva ... Integer.toString (foo) no proporciona esta protección. –

1

Normalmente tendrá que utilizar Integer.toString (int) o String.valueOf (int). Ambos devuelven lo mismo, y probablemente tengan implementaciones idénticas. Integer.toString (int) es un poco más fácil de leer de un vistazo, IMO.

0

Me asumir que esto:

aMethod(""+100); 

se convierte en esto por el compilador:

aMethod(new StringBuilder("").append(String.valueOf(100)).toString()); 

Así que la opción de llamar a la String.valueOf directa es probablemente la mejor opción. Siempre puedes compilarlos y comparar el bytecode para verlo con seguridad.

Cuestiones relacionadas