Personalmente, creo que "" + i parece que el cartel original de la pregunta dice "maloliente". He usado muchos lenguajes OO además de Java. Si se pretendía que esa sintaxis fuera apropiada, entonces Java interpretaría solo el i sin necesidad de que "" se desea convertir a una cadena y lo haría ya que el tipo de destino no es ambiguo y solo se proporcionaría un único valor a la derecha . El otro parece un "truco" para engañar al compilador, un mal humor cuando se consideran diferentes versiones de Javac hechas por otros fabricantes o desde otras plataformas si el código alguna vez necesita ser portado. Diablos por mi dinero, debería gustarle a muchos otros OOL tomar un Typecast: (String) i. guiños
Dada mi forma de aprender y para facilitar la comprensión de tal construcción al leer el código de otros rápidamente, voto por el método Integer.toString (i). Olvidando una o dos cosas sobre cómo Java implementa las cosas en segundo plano frente a String.valueOf (i) este método me parece correcto y dice exactamente lo que está sucediendo: tengo e Integer y deseo que se convierta en String.
Un buen punto de vista un par de veces es que quizás solo usar StringBuilder por adelantado es una buena respuesta para construir cadenas mixtas de texto e ints u otros objetos, ya que eso es lo que se usará en el fondo de todos modos, ¿verdad?
Solo mis dos centavos arrojados al gatito ya bien pagado de las respuestas a la pregunta de Mans ... sonrisas
EDITAR A MI PROPIA RESPUESTA DESPUÉS DE ALGUNA REFLEXIÓN:
Ok, Ok, estaba pensando en esto un poco más y String.valueOf (i) también es perfectamente bueno y dice: Quiero una cadena que represente el valor de un número entero. jajaja, el inglés es mucho más difícil de analizar que Java! Pero, dejo el resto de mi respuesta / comentario ... Siempre me enseñaron a usar el nivel más bajo de una cadena de método / función si es posible y todavía mantiene la legibilidad, de modo que si String.valueOf llama a Integer.toString, entonces ¿Por qué usar una naranja entera? si de todos modos lo pelarás, ¿mmm?
Para aclarar mi comentario sobre StringBuilder, construyo muchas cadenas con combos de texto en su mayoría literales e int y terminan siendo largos y feos con llamadas a las rutinas mencionadas anteriormente incrustadas entre los + 's, así que me parece si esos se vuelven De todos modos, SB se opone y el método append tiene sobrecargas, podría ser más limpio seguir adelante y usarlo ... Entonces, supongo que ahora tengo hasta 5 centavos en este, ¿eh? jajaja ...