"Y ahora es el momento de un tema pequeño pero interesante: conversiones al tipo String".

"En Java, cualquier tipo de datos se puede convertir en una cadena".

"Eso suena genial".

"Es mejor que genial. Casi todos los tipos se pueden convertir implícitamente en una cadena. Esto es fácil de ver cuando agregamos dos variables, donde una es una cadena y la otra es otra cosa. La variable que no es una cadena se convertirá en una Cadena."

"Mira un par de ejemplos:"

Dominio lo que realmente sucede
int x = 5;
String text = "X=" + x;
int x = 5;
String s = "X=" + Integer.toString(x);
Cat cat = new Cat("Oscar");
String text = "My cat is " + cat;
Cat cat = new Cat("Oscar");
String text = "My cat is" + cat.toString();
Object o = null;
String text = "Object is " + o;
Object o = null;
String text = "Object is " + "null";
String text = 5 + '\u0000' + "Log";
int i2 = 5 + (int) '\u0000';
String text = Integer.toString(i2) + "Log";
String text = "Object is " + (float) 2 / 3;
float f2 = ((float) 2) / 3;
String text = "Object is " + Float.toString(f2);

Conclusión:  si agregamos un String y 'cualquier otro tipo', el segundo tipo se convertirá en un String .

"Presta atención a la línea cuatro de la tabla. Todas las operaciones se ejecutan de izquierda a derecha. Por eso, sumar 5 + '\u0000' " es lo mismo que sumar números enteros".

"Entonces, si escribo algo como String s = 1+2+3+4+5+"m", ¿obtendré s = "15m" ?"

"Sí. Primero se sumarán los números y luego la suma se convertirá en una cadena".