RE:¿Cómo COJONES convertimos int en string y al re
Tienes varias formas de hacerlo, pero al final todas hacen lo mismo a la hora de la compilación.
1.- Usar la clase envolvente Integer. Esta clase tiene un método (tal como todos los objetos en java) llamado toString(). Este método retorna una representación en String del objeto sobre el que es invocado. Entonces, creas un objeto Integer con el valor deseado, e invocas su método toString:
int original = 9;
String copia = (new Integer(9)).toString();
2.- La clase Integer tiene también un método estático toString(int) para convertir enteros a String:
int original = 9;
String copia = Integer.toString(original);
3.- La otra forma es utilizando los métodos de conversión que tiene la clase String. Ojo: este método de la clase String simplemente invoca el método adecuado desde la clase Integer.
int original = 9;
String copia = String.valueOf(original);
4.- Otra forma, menos elegante, pero más rápida de tipear es concatenar el enetero con un string vacío. Luego, al compilar, Java reemplaza el entero por su representación como String usando (nuevamente) el método de conversión en Integer.
int original = 9;
String copia = "" + original;
Estos cuatro métodos generan el mismo String, llaman a los mismos métodos en última instancia y debieran (incluso) generar el mismos "bytecode" al momento de compilar.
Espero que haya sido de ayuda para tu problema y para comprender un poco más como funciona Java en general :)